問題:
base64 でエンコードされた文字列を、 ArrayBuffer。特に、ページの読み込みでは利用できない電子メールからのユーザー入力を処理します。目標は、外部サーバーとの対話なしでこの変換を実行することです。
解決策:
この変換を JavaScript でネイティブに実現するには、次の手順を利用できます。
Base64 をデコードする文字列:
atob() 関数を使用して、base64 文字列をバイナリ文字列にデコードします。
ArrayBuffer を作成します:
長さと同じ長さの新しい Uint8Array を作成します。バイナリ文字列の長さ。
ArrayBuffer に変換:
バイナリ文字列内の各文字を反復処理し、Unicode コード ポイントに変換します。に保管してくださいArrayBuffer.
実装例:
以下は、ArrayBuffer に対して Base64 を実行する JavaScript 関数です。変換:
function base64ToArrayBuffer(base64) { var binaryString = atob(base64); var bytes = new Uint8Array(binaryString.length); for (var i = 0; i < binaryString.length; i++) { bytes[i] = binaryString.charCodeAt(i); } return bytes.buffer; }
使用法:
この関数を使用して、base64 でエンコードされた文字列を ArrayBuffer に変換できます:
var base64String = "yourBase64StringHere"; var arrayBuffer = base64ToArrayBuffer(base64String);
これで、base64 文字列が ArrayBuffer に正常に変換され、外部サーバーなしでバイナリ データを操作できるようになりました。呼び出します。
以上がJavaScript で Base64 文字列を ArrayBuffer に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。