高木のブログ

【JavaScript】Base64 でエンコード・デコード

· 72 words · 1 minutes to read

JavaScript で文字列を Base64 でエンコード・デコードする機会があったのでメモ

標準で btoa(), atob() が用意されているのでそれを使えばサクッとできる

const text = "Hello"

const encoded = btoa(text)
console.log(encoded) //=> SGVsbG8=

const decoded = atob(encoded)
console.log(decoded) //=> Hello

日本語などのマルチバイトの場合は、さらに encodeURIComponent(), decodeURIComponent() でエンコード・デコードする必要がある

const text = "こんにちは"

const encoded = btoa(encodeURIComponent(text))
console.log(encoded) //=> JUUzJTgxJTkzJUUzJTgyJTkzJUUzJTgxJUFCJUUzJTgxJUExJUUzJTgxJUFG

const decoded = decodeURIComponent(atob(encoded))
console.log(decoded) //=> こんにちは

補足 🔗

  • btoa: binary to ASCII
  • atob: ASCII to binary

参考 🔗

Categories


Tags