通常の0〜9と比較して、日本語の0〜9の固定幅文字が別々になっているのはなぜですか。


9

日本語(日本語)-0123456789

他のすべての場所での一般的なASCII- 0 1 2 3 4 5 6 7 8 9

同じ数値に対して別の文字セットを作成する必要があったのはなぜですか?

回答:


11

これらは全角文字です。

  • これらの文字はUnicode U + FF00からU + FFEFであり、CJK文字で使用することを目的としています。これらは、ラテン文字が固定幅のCJKテキストと整列できるように存在します。歴史的に、漢字は80x24端末で倍幅に設定され、これらの文字はCJKテキストの幅と一致させるために使用されていました。

  • これらの文字は数字に限定されません。完全なラテンアルファベットは全角形式で利用できます。

    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    abcdefghijklmnopqrstuvwxyz
    0123456789
    

Windowsのコマンドプロンプトで、漢字とともにラテン文字の全角形式が表示される
画像ソース


3

全角文字は日本語だけでなく、韓国語や中国語にも対応しています。過去の視覚的な複雑さと貧弱な画面解像度のために、特に韓国語と中国語の文字の場合、これらの言語を半角文字で表示することは物理的に不可能でした。

(日本語にも半角文字がありますが、日本語では日本語文字だけを使用することはめったにありません。ほとんどの場合、漢字が混在しています。したがって、半角文字を使用してもあまり役に立ちません。)

それらの大きな数字はそのために導入されました。たとえば、グラフィックを使用せずに表やグリッドスタイルのテキストを書いているとき、一般的な数字はうまく混ざりませんでした。さらに、彼らは「縦書き」の文化だけでなく、私たちが現在使用している横書きも持っていました。想像してみてください。これらの文字を縦に書くと、従来の数字は混合すると見苦しくなります。

全角文字が2バイト以上を処理するのに対し、半角文字はそれぞれ1バイトを占めるため、データ構造側でも同様のことが起こりました。

ほとんどのキャラクターが同じスペースとメモリを使用するようにすると、これらのような多くのことがより簡単になりました。同様に、全角ローマ字もあります。

なぜあなたがこの質問をしたのか私は理解しています-今日、すべてがGUI上にあります。テーブルはもはや純粋にテキストで書かれていません。縦書きは時代遅れになっています。幅の広い文字を使用するには、太い文字を使用するのではなく、幅を調整するだけです。より複雑なエンコーディングが導入されているため、ほとんどの文字はとにかく複数バイトを取ります。したがって、これらの全角英数字は、キーボードの「Scroll Lock」キーのような古い時代の遺産であることは、おそらく本当です。


0

文字幅と関係があると思いますが、日本語は縦書きが可能な言語の一つです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.