File
ファイルを表すクラス。Blobを継承している。
name, lastModified, sizeなどのプロパティを持つ。
<input type="file" id="file1">
のdocument.getElementById("file1").files
はFileListクラス。FileListはFileの配列のようなクラス。
Blob
Fileと似たようなクラス。プロパティとしてsize, type(MIMEタイプ)を持つ。
Fileと同様、FileReaderで読み込める。
await blob.arrayBuffer()
でArrayBufferに変換できる。
new Blob([array])
でArrayBufferやUint8Arrayなどから変換できる。
FileReader
FileやBlobを読み込むためのクラス。
readAsText()で文字列として読み込む。
readAsArrayBuffer()でArrayBufferとして読み込む。
Uint8Array
バイト列をuint8の配列として扱うためのクラス。TypedArrayの一種。内部にArrayBufferを持っている。
.buffer
でArrayBufferを返す。
ArrayBuffer
最も基本的なバイト列。
ArrayBuffer の内容を直接操作することはできない。new Uint8Array(buffer)やnew Uint16Array(buffer)などで変換して扱う。
TextEncoder
.encode()
で文字列をUTF-8のUint8Arrayに変換できる。それ以外の文字コードには対応していない。
TextDecoder
.decode()
でUint8Arrayを文字列に変換できる。sjis等にも対応している。
ファイルやAPIから取得したSJISのバイト列を文字列に変換するために使える。
Buffer
Node.js独自のクラス。
Uint8Arrayのサブクラス。