すべてのプロダクト
Search
ドキュメントセンター

:エンコーディングに関するFAQ

最終更新日:Mar 11, 2024

このトピックでは、EdgeRoutine (ER) でのエンコードに関するよくある質問に対する回答を提供します。

ERはどのようなエンコード方法をサポートしますか?

ERはUTF-8符号化のみをサポートする。

ERはパススルーモードでのデータ送信に影響しますか?

いいえ。 パススルーモードでは、ERはリクエストボディをフェッチしません。 ERはデータをストリームとして送信する。 リクエストヘッダーのみが変更されます。 リクエストボディは変更なしで送信されます。 ERはデータをネットワークストリームとして送信する。 ストリームはJavaScript仮想マシンを通過しません。

説明

デフォルトでは、Fetch APIはストリームを解凍します。 したがって、ERはストリームも解凍する。 変更なしでデータを渡す場合は、解凍パラメーターを手動に設定します。

JavaScript文字列はUTF-16でエンコードされていますか?

いいえ。 UTF-16エンコーディングはASCIIと互換性がなく、サロゲートコードポイントを使用します。 webページにサロゲートペアとしてエンコードされたコードポイントが含まれている場合、文字エラーが発生する可能性があります。

String.substringは、UTF-16コードポイントとして表される文字の部分文字列を抽出します。 サロゲートペアは、2つのタイプのUTF-16コードポイントを含む。 サブストリングでは、サロゲートペアはペアでなくてもよい。 サブストリングが対になっていないサロゲートペアを含む場合、サブストリングは、UTF-8でINVALID REPLACEMENT CHAR (65533) として符号化される。 コードはブラウザに表示されません。

コンテンツはどのように変更できますか?

次のコードを使用して、データをバッファリングできます。

text/arrayBuffer/JSON...
重要
  • ストリーム処理を実行するときは、サロゲートコードポイントを確認します。 サロゲートペアがペアリングされていないことを確認します。 サロゲートペアがペアになっていない場合、ERは抽出する部分文字列の範囲を決定できません。 ほとんどのwebページにサロゲートペアを使用する文字が含まれていないが、サロゲートペアを使用する絵文字が含まれている場合は、この考慮事項を無視できます。

  • Alibaba Cloudは、HTMLコードをより効率的に変更できるように、HTMLパーサーを間もなくリリースする予定です。 詳細については、Alibaba Cloud Internationalサイトのお知らせをご参照ください。

ArrayBufferをUTF-8でエンコードするか、UTF-8-encoded文字列をArrayBufferにデコードするにはどうすればよいですか?

TextEncoderまたはTextDecoderを使用して、エンコードまたはデコードを実行できます。