6

私はこのようなことをする必要があります:

  1. 何らかのタイプの変数を持っています。
  2. ループで実行し、可能なすべての ASCII 文字をこの変数に割り当てて、1 つずつ出力します。

UNICODEでも同様のことが可能ですか?

4

3 に答える 3

14

どのくらい正確に印刷したいかわかりませんが、これはconsole.log印刷可能なASCIIになります

for(var i=32;i<127;++i) console.log(String.fromCharCode(i));

document.writeそれがあなたの意図であるなら、あなたはそれからすることができます。そして、環境がユニコードであれば、ユニコードでも機能するはずだと私は信じています。

于 2012-10-09T07:32:12.127 に答える
0

他の人は、印刷可能なASCII文字を印刷する方法を示しています。他のすべてのASCII文字も印刷できますが、これらはシステムに依存する効果(多くの場合効果がない)を持つ制御文字です。すべてのASCII文字を含む文字列を文字列に作成するには、次のようにします。

var s = '';
for (var i = 0; i <= 127; i++) s += String.fromCharCode(i);

Unicodeは、0から0x10FFFFまでのUnicodeコーディングスペースに、文字以外として指定されたコードポイントだけでなく、割り当てられていないコードポイントも多数含まれているため、はるかに注意が必要です。「私的合意」によって文字を示すために使用される可能性があるが、一般的に割り当てられた意味を持たない私的使用コードポイントもあります。さらに、多くのUnicode文字はスペースがないため、前の文字と組み合わせる(たとえば、「a」を「â」に変える)ため、視覚的に連続して印刷することはできません。JavaScriptには、対応するコードポイントのクラスを整数から決定する簡単な方法はありません。UnicodeData.txtファイルを読み取って解析し、そこにある情報を使用してコードポイントを分類する必要がある場合があります。

最後に、JavaScriptの文字の概念が16ビットコードユニット(コードポイントではない)に対応し、0xFFFFより大きいUnicodeコードポイントは2つのコードユニット(いわゆるサロゲート)を使用して表す必要があるというプログラミングの問題があります。HTMLドキュメントのコンテキストでJavaScriptを使用していて、HTMLコンテンツに文字を印刷する場合、最も簡単な方法は、(コードポイント16進数&#x10400;のUnicode文字を示す)のような文字参照を使用して、文字列をに割り当てることです。要素のプロパティ。10400innerHTML

Unicode文字の範囲を記述する必要がある場合は、最近書いたFullUnicodeInputユーティリティを参照してください。そのソースコードは、JavaScriptでUnicode文字を処理するいくつかの方法を示しています。

于 2012-10-09T08:49:30.877 に答える
0

印刷できないASCII文字がいくつかありますが、たとえば、32(スペース)から126(〜)までの文字を取得するには、次を使用します。

var s = '';
for (var i = 32; i <= 127; i++) s += String.fromCharCode(i);

Unicode文字セットには110,000を超える異なる文字がありますが(Unicodeを参照)、通常のフォントにはすべてが含まれているわけではないため、とにかくそれらを表示することはできません。文字スペースのどの部分に関心があるかを指定する必要があります。

于 2012-10-09T07:35:36.000 に答える