8章複雑なデータの扱いを学ぶ

これまでの章でもObjectやコレクションなど複雑な構造を持つデータの取り扱いについて学びましたが、それらはすべてJavaScript内に閉じた構造でした。つまり構造の各要素は還元すると最終的にすべてプリミティブに至ります。しかし実際のアプリケーションで扱うべきデータはそれらには限定されません。画像や音声のほか、設定ファイルのような特殊な構造を持ったデータもあるでしょう。

本章ではバイナリデータと、JSONというJavaScriptとは独立した構造を持つデータを、JavaScriptから扱う方法について学びます。

8.1 バイナリデータ

これまでに説明した内容で扱うことができるデータは結局のところ数値か文字列のいずれかだけです。それだけで十分だった時代もありますが、JavaScriptの適用範囲は広がり続け、今では画像や動画、音声などを扱うこともそれほど稀なことではありません。それどころか場合によっては特定アプリケーション専用の独自形式データを扱うことすらあります。そのようなデータの内部を詳細に調べたり書き換えるには、コンピュータが内部的に使用しているデータをそのまま扱えなければいけません。そういったデータは一般にバイナリデータと呼ばれ、JavaScriptではArrayBufferオブジェクトを使用して扱います。

8.1.1 バイナリデータとテキストデータ

実際にArrayBufferオブジェクトでバイナリデータを扱う方法を説明する前に、まずは「バイナリデータ」とはどのようなものかを簡単に説明しておきましょう。

バイナリ(binary)とは日本語にすると二進法、つまり2進数を使用して数を数えることです。実際のところ、コンピュータ内部ではすべてのデータが ...

Get ハンズオンJavaScript now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.