JavaScriptでUint8Array ⇄ Base64文字列の相互変換
#WebブラウザのJavaScript #JavaScript
Uint8Array → Base64
code:js
// (from: https://stackoverflow.com/a/11562550/2885946)
function uint8ArrayToBase64(uint8Array) {
return btoa(String.fromCharCode(...uint8Array));
}
参考: javascript - ArrayBuffer to base64 encoded string - Stack Overflow
Base64 → Uint8Array
code:js
// (from: https://gist.github.com/borismus/1032746#gistcomment-1493026)
function base64ToUint8Array(base64Str) {
const raw = atob(base64Str);
return Uint8Array.from(Array.prototype.map.call(raw, (x) => {
return x.charCodeAt(0);
}));
}
参考: Convert a base64 string into a binary Uint8 Array
使用例
code:js
const arr = new Uint8Array(1, 2, 3);
const base64 = uint8ArrayToBase64(arr);
base64ToUint8Array(base64);
Nipp:
関連:
Uint8Arrayとバイナリ文字列の相互変換なら、JavaScriptで String ⇄ Uint8Array 相互変換。