ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript 文字セットのエンコードとデコードの詳細な説明 (グラフィック チュートリアル)

JavaScript 文字セットのエンコードとデコードの詳細な説明 (グラフィック チュートリアル)

亚连
亚连オリジナル
2018-05-19 13:34:591575ブラウズ

この記事では、JavaScript の文字セットと文字セットのエンコードとデコードについて詳しく説明しています。必要な方は参考にしてください。

1. ) 文字 文字とは、文字化けを含むさまざまな文字や記号の総称で、1 文字は 1 ~ n バイト、1 バイトは 8 ビットに相当し、各ビットは 0 または 1 で表されます。

2) 文字セット

文字セットは、複数の文字の集合です。各文字セットには、異なる数の文字が含まれています: ASCII 文字セット、GB2312 文字セット、Unicode 文字セット。

3) 文字エンコーディング

文字エンコーディングはシンボルをコンピューターが読み取り可能なバイナリに変換すること、デコードはバイナリを人間が読み取り可能なシンボルに変換することです。

ほとんどの文字セットは 1 つのエンコード方式に対応します (たとえば、GBK は GBK エンコードに対応します)。ただし、UTF-8、UTF-16、UTF-32、UTF-7 など、多くの Unicode エンコードが存在します。

最も一般的に使用される Web ページは「UTF-8」です。UTF-8 は各文字をエンコードするのに 1 ~ 4 バイトを使用するため、既存の ASCII テキストを変換する必要はありません。ブラウザベース

1) HTML 属性で 10 進数と 16 進数を使用します

10 進数では HTML で「8」を使用でき、16 進数では 10 進数より x が 1 つ多い「Z」を使用します。 10 ~ 15 を表すために、ベース コードにさらに 6 文字 a ~ f が追加されます。

2) CSS属性で10進数と16進数が使用されます

CSSはHTMLの基本形式と互換性があります。また、16進数は「6c」の形式で表現することもできます。

3) JavaScript エンコードのカプセル化

は、eval を通じて文字列の 8 進数および 16 進数のエンコード メソッドを直接実行できます。ここで、8 進数は「56」で表され、16 進数は「x5c」で表されます。 コードで中国語の文字が使用されており、16 進数のエンコードが必要な場合は、16 進数の Unicode エンコードのみを実行でき、その表現は「u4ee3u7801」です。

「Web フロントエンド ハッキング技術の公開」では、主に次の 2 つの方法がエンコードとデコードにカプセル化されています。具体的なコードはここで確認できます。

コアコードは次のとおりです: "str.charCodeAt(char).toString(base)" と "String.fromCharCode(parseInt(code,base))" charCodeAt() メソッドは 0 から 65535 までの整数を返します。指定されたインデックスの UTF-16 コード単位

static String.fromCharCode() メソッドは、指定された Unicode 値のシーケンスを使用して作成された文字列を返します。

オンライン Web ページを通じて「MonyerJS」をエンコードおよびデコードすることもできます。

4) HTML自動デコード機構

例えば、ウェブページ上で16進数の「Hello」を入力すると、自動的に「hello」にデコードされます。

この仕組みを備えた有名なスペース「 」もいくつかあります。

3. ブラウザのエンコード

JavaScript には、文字列をエンコードおよびデコードできる関数のペアが 3 つあります。つまり、

escape/unescape、encodeURI/decodeURI、encodeURIComponent/decodeURIComponent です。

主な違いは、エンコードされない文字の数です。

1) エスケープでエンコードされていない文字は 69 文字あります

*, +, -, ., /, @, _, 0~9, a~z, A~Zおよびエスケープ 0~255以外のUnicode値をエンコードした場合、%u****形式で出力されます。

2) encodeURI でエンコードされない文字は 82 文字あります

!、#、$、&、'、(,)、*、+、、、-、.、/、:、;、 = ,?,@,_,~,0~9,a~z,A~Z

3) encodeURIComponent でエンコードされない文字が 71 文字あります

*、+、-、.、/、@、_、0~9、a~z、A~Z而且escape对0~255以外的unicode值进行编码时输出%u****格式。

2)encodeURI不编码的字符有82个

!、#、$、&、'、(、)、*、+、,、-、.、/、:、;、=、?、@、_、~、0~9、a~z、A~Z

3)encodeURIComponent不编码的字符有71个

!、'、(、)、*、-、.、_、~、0~9、a~z、A~Z

!,',( ,) ,*,-,.,_,~,0~9,a~z,A~Z

上記は皆さんのためにまとめたもので、今後皆さんのお役に立てれば幸いです。 。

関連記事:

JSプロトタイプとプロトタイプチェーンの使い方を詳しく解説

AjaxによるServlet3.0とJSの対話例

p5.jsキーボード対話機能のまとめ

🎜

以上がJavaScript 文字セットのエンコードとデコードの詳細な説明 (グラフィック チュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。