Uint8Array Base64/Hexコンバーターとは
Uint8Array.prototype.toBase64()は、Uint8Arrayのバイト内容をBase64エンコードされた文字列にエンコードします。Uint8Array.prototype.toHex()は小文字の16進文字列を生成します。対応するUint8Array.fromBase64(string)とUint8Array.fromHex(string)は、Base64と16進文字列を解析してUint8Arrayに戻します。これらのメソッドはBaseline 2025(Chrome 136+)の一部であり、手動のエンコードヘルパーを不要にします。これらはブラウザとサーバー間、または異なるWeb API間でバイナリデータを転送する標準的な方法です。
クイックアンサー
ネイティブのUint8Array Base64およびHexエンコーディングメソッドを使用したコードスニペットを生成します。toBase64()とtoHex()はバイナリデータをエンコードし、Uint8Array.fromBase64()とUint8Array.fromHex()は文字列をバイナリにデコードします。Chrome 136+、Edge、Firefox、Safariで利用可能。もうbtoaやcharCodeAtのループは必要ありません。
Last updated: 2026-06-02
制限事項
- Baseline 2025をサポートしていない古いブラウザでは利用できません。広い互換性のため、メソッドがすべての対象環境に到達するまで、btoaとcharCodeAtを使用した手動エンコーディングによるフォールバックを提供してください。
- 非常に大きなBase64または16進文字列をUint8Arrayにデコードすると、デコードされたバッファ全体がメモリに割り当てられ、メモリ不足状態を引き起こす可能性があります。非常に大規模なデータの場合は、ストリーミングデコーダーまたはチャンク処理を検討してください。
- fromBase64()はパディング付きの標準Base64のみをサポートしています。URLセーフBase64、パディングなしのBase64、16進文字列は、ネイティブメソッドを使用する前に前処理が必要です。
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
使い方
- ファイルデータ、型付き配列操作、またはfetch、WebSocket、FileReaderなどのWeb APIからUint8Arrayを作成します。
- 配列で.toBase64()を呼び出し、JSONペイロード、data URI、またはAPIリクエストに適した標準Base64文字列を取得します。
- 配列で.toHex()を呼び出し、デバッグ、暗号表示、または16進エンコーディングを期待するプロトコルに有用な16進文字列を取得します。
- Uint8Array.fromBase64(string)またはUint8Array.fromHex(string)を使用して、エンコードされた文字列をバイナリデータにデコードします。
主な用途
- ファイル入力からアップロードされたバイナリファイルの内容をJSON APIリクエストで送信するためにBase64としてエンコードします。
- 開発者ツールやデバッグパネルで検査のために生のバイトデータを16進文字列として表示します。
- WebSocketやfetch APIからのBase64エンコードされたレスポンスをUint8Arrayにデコードし、さらなるバイナリ処理を行います。