JavaScript 文字列を uxxxx に

WBOY
リリース: 2023-05-21 10:48:37
オリジナル
874 人が閲覧しました

Unicode は、コンピューター サイエンスにおける文字エンコーディングの標準の 1 つで、文字を数値で表現する方法を定義します。 Unicode では、すべての文字に対応する番号があります。この数値は Unicode コード ポイントと呼ばれ、通常は 16 進数で表されます。

JavaScript では、Unicode コード ポイントを使用して特殊文字を表現する必要がある場合、通常は uXXXX の形式で表現します。このうち、XXXX は 4 桁の 16 進数で、対応する文字の Unicode コードポイントを表します。

特殊文字を含む文字列がある場合、これらの文字を対応する Unicode コード ポイントに変換できます。 JavaScript には、このタスクを実行するためのいくつかの組み込みメソッドが用意されています。

1. String.charCodeAt()

String.charCodeAt() メソッドは、文字列内の指定された位置にある文字の Unicode コード ポイントを返すことができます。例:

let str = "hello world";
console.log(str.charCodeAt(0)); // 104,h 的 Unicode 码点是 104
ログイン後にコピー

ループを使用して文字列全体を走査し、各文字の Unicode コード ポイントを uXXXX の形式に変換できます。例:

let str = "hello world";
let unicodeStr = "";
for (let i = 0; i < str.length; i++) {
  // 将每一个字符的 Unicode 码点转换为 4 位的 16 进制数,然后补 0,最后拼接到结果字符串中
  unicodeStr += "\u" + ("0000" + str.charCodeAt(i).toString(16)).slice(-4);
}
console.log(unicodeStr); // u0068u0065u006cu006cu006fu0020u0077u006fu0072u006cu0064
ログイン後にコピー

2. String.codePointAt()

String.codePointAt() メソッドは、文字列内の指定された位置にある文字の Unicode コード ポイントを返すことができます。 String.charCodeAt() はい、16 ビットを超える Unicode コード ポイントを正しく処理します。例:

let str = "?";
console.log(str.charCodeAt(0)); // 55362,这个码点需要使用 2 个 16 进制数表示,而 charCodeAt() 返回的是第一个 16 进制数的码点
console.log(str.codePointAt(0)); // 134071,codePointAt() 返回整个码点
ログイン後にコピー

String.codePointAt() メソッドを使用して、文字列内のすべての文字を Unicode コード ポイントに変換します。上記と同様の方法でトラバースできます。上のコードでは、まず現在の文字のコード ポイントが 16 ビットより大きいかどうかを判断し、そうである場合は、その上位 16 ビットと下位 16 ビットをそれぞれ変換し、結果の文字列に結合する必要があります。 16 桁以下の場合は、4 桁の 16 進数に直接変換され、結果の文字列に結合されます。

要約すると、JavaScript で String.charCodeAt() メソッドと String.codePointAt() メソッドを使用すると、文字列内の文字を Unicode コード ポイントに変換し、

uXXXX

という形式を使用できます。急行。文字列に 16 ビットを超える Unicode コード ポイントが含まれている場合は、String.codePointAt() メソッドを使用して上位 16 ビットと下位 16 ビットを 4 桁の 16 進数に変換する必要があります。

以上がJavaScript 文字列を uxxxx にの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート