🔄

TypeScriptのBase64のエンコードとデコード

公開日
8か月前
2023-10-16
更新履歴

TypeScript/JavascriptでBase64のエンコードとデコードの方法です。

Buffer

Node.jsの場合は、Bufferを使えます。

import

import { Buffer } from 'buffer'

エンコード

const encodedData = Buffer.from('Hello, world').toString('base64')

URL safeなBase64の場合(利用できない環境もある):

const encodedData = Buffer.from('Hello, world').toString('base64url')

デコード

const decodedData = Buffer.from(encodedData, 'base64').toString()

URL safeなBase64の場合(利用できない環境もある):

const decodedData = Buffer.from(encodedData, 'base64url').toString()

btoa / atob

Javascriptだけで行う場合は以下のとおりです。

btoaによるエンコード

var encodedData = window.btoa('Hello, world')

atobによるデコード

var decodedData = window.atob(encodedData)

Unicodeの文字列を扱う場合

btoaとatobはASCII文字列しか対応していないので、Unicodeの文字列を扱う場合は以下のようにします。unescapeとescapeは非推奨

btoaによるUnicode文字列のエンコード

var encodedData = window.btoa(unescape(encodeURIComponent('こんにちは')))

atobによるUnicode文字列のデコード

var decodedData = decodeURIComponent(escape(window.atob(encodedData)))