DOM

TextEncoderインターフェイス

:prototype.

encodeInto メソッド

  編集:2022.02.13 by T.A.

MS(en)

実験的: これは実験的技術です。これを本番環境で使用する前に、ブラウザの互換性テーブルを注意深く確認してください。

TextEncoder.prototype.encodeInto() メソッドは、USVStringを使用してエンコードし、宛先の Uint8Array を使用して結果の UTF-8 エンコードされたテキストを挿入し、エンコードの進行状況を示す辞書オブジェクトを返します。
これは、特にターゲット バッファが Wasm ヒープへのビューである場合に、古い encode() メソッドよりもパフォーマンスが向上する可能性があります。

dic= encoder.encodeInto(string,uint8Array)
encoder TextEncoder
string エンコードするテキストを含む USVString です。
uint8Array 結果の UTF-8 エンコード テキストを配置する Uint8Array オブジェクト インスタンスです。
戻り値

2 つのメンバーを含む TextEncoderEncodeIntoResult ディクショナリ:

read UTF-8 に変換されたソースからの UTF-16 ユニットのコードの数。uint8Array に十分なスペースがない場合、これは string.length よりも小さい可能性があります。
written 宛先 Uint8Array で変更されたバイト数。書き込まれたバイトは、完全な UTF-8 バイト シーケンスを形成することが保証されています。
encode.encodeInto は、常にその出力を配列の先頭に置きます。ただし、出力を特定のインデックスから開始すると便利な場合があります。解決策は TypedArray.prototype.subarray() です。
var encoder = new TextEncoder;
function encodeIntoAtPosition(string, u8array, position) {
    return encoder.encodeInto(string, position ? u8array.subarray(position|0) : u8array);
}

var u8array = new Uint8Array(8);
encodeIntoAtPosition("hello", u8array, 2);
console.log( "" + u8array.join() ); // 0,0,104,101,108,108,111,0

テスト
HTML:

ここに表示
スクリプト組み込み:



スクリプト:


スクリプト:



表示内容:
表示内容: