0

JavaScriptでは、著作権記号を表示するために次のコード行(Unicodeを使用)を使用できます。

var x = "\u00A9 RPeripherals";

以下のように、 ALTコード(alt + 0169)を使用して著作権記号を直接入力できないのはなぜですか。

var x = "© RPeripherals" ;

これら2つの方法の違いは何ですか?

4

2 に答える 2

2

以下のように、ALT コード (alt+0169) を使用して著作権記号を直接入力できないのはなぜですか。

誰がそう言う?もちろんできます。ソース ファイルに UTF-8 エンコーディングを使用するようにコード エディターを構成するだけです。最初から他のものを使うべきではありません...

これら2つの方法の違いは何ですか?

違いは、\uXXXXスキームを使用すると、ワイヤ上で最高で 2 バイト、最悪で 5 バイトの余分なバイトを送信することです。この種のスペルは、フォントが正しく表示できない文字をソース コードに埋め込む必要がある場合に役立ちます。たとえば、プログラミングに使用しているフォントに繁体字の中国語の文字がないため、コード エディターに中国語の文字を入力すると、実際の数字ではなく Unicode コードポイントの数字を含む疑問符または四角形がたくさん表示されます。文字。しかし、フォントに中国語のグリフがある人には、その問題はありません。

私とその人がソース コードを共有したい場合は、他の人が\uXXXXスキームを使用することをお勧めします。Unicode テーブルで検索することで、どの文字がその文字であるかを確認できるからです。それがすべての違いです。

編集

ECMAScript 標準 (v 262/5.1) は具体的に次のように述べています。

この標準の適合実装は、Unicode 標準バージョン 3.0 以降および ISO/IEC 10646-1 に準拠して文字を解釈し、実装レベル 3 の採用されたエンコード形式として UCS-2 または UTF-16 を使用します。 /IEC 10646-1 サブセットは特に指定されていないため、コレクション 300 の BMP サブセットであると推定されます。採用されたエンコード形式が特に指定されていない場合、UTF-16 エンコード形式であると推定されます。

したがって、標準は文字エンコーディングが Unicode であることを保証し、UTF-16 の使用を強制します (これは奇妙です。私は UTF-8 だと思っていました)。ブラウザはデフォルトで UTF-8 を使用します。おそらく、これは後の標準で変更されましたが、これは普遍的に受け入れられた最後の標準です。

于 2012-09-30T18:58:58.450 に答える
0

著作権記号を直接入力できないのはなぜですか

JavaScript エンジンは UTF-8 でエンコードされたソース ファイルを解析できるためです。

これら2つの方法の違いは何ですか?

1 つは短いもので、文字をサポートするエンコーディングでソース ファイルをエンコードする必要があり、キーボードのボタンに印刷されていない文字を入力する必要があります。

もう 1 つは (比較的) 長く、すべて ASCII で表現でき、標準キーボードのボタンに印刷された文字で入力できます。

于 2012-09-30T18:38:25.620 に答える