0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JavaScriptバイナリデータを扱うためのクラスまとめ

Last updated at Posted at 2024-09-24

JavaScriptバイナリデータを扱うためのクラスまとめ.drawio (2).png

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のサブクラス。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?