この記事では Base64 やbtoa、そしてbtoaの挙動を理解するために必要な Latin1 について説明していく。 この記事に出てくるコードの動作確認は以下の環境で行った。 Deno 1.28.3 TypeScript 4.8.3 概要 Base64 はデータのエンコード方式の一種。 全てのデータをa~z(26 文字)、A~Z(26 文字)、0~9(10 文字)、そして+と/を合わせた計 64 文字、さらにそこに=を組み合わせたテキストで表現する。 そうすることで、扱えるデータに制限のある環境において、その制限を超えたデータを扱えるようになる。 例えば電子メールではテキストデータしか扱えないが、バイナリデータを Base64 にエンコードしてしまうことで、問題なくバイナリデータを送信できるようになる。あとは受信側で Base64 をデコードすればよい。 他にも、 Data URL で