WGC1 第5章文字表現 5.1 文字データ

5.1.1 ASCII
  • 標準ASCIIコード/ASCII文字セット
    128種
    1バイトの内半分の128個($80〜$FF)が残っている
  • 32文字づつの4つのグループ
    • グループ1 制御文字
      • キャリッジリターン(CR)
      • ラインフィード(LF)
      • バックスペース
    • グループ2 句読文字特殊文字・数字
      • スペース($20)
      • 数字($30〜$39)
    • グループ3 大文字の英字
            A〜Z($41〜$5A)
    • グループ4小文字の英字・5つの特殊文字・1つの制御文字
            a〜z ($61〜$7A)
            delete
    • 大文字・小文字
文字 7 6 5 4 3 2 1 0
E 0 1 0 0 0 1 0 1
e 0 1 1 0 0 1 0 1
大文字:第5ビットが常に0 小文字:第5ビットが常に1

秀丸とかで、大文字⇔小文字の変換の機能がついてるのは
ASCIIの仕様がそもそも簡単にできるようになっているからなのか

5.1.2 EBCDIC

主に大型コンピュータで見られるもの

古〜〜〜〜いソースにたしかEBCIDCってあった気がするんだが
あれは一体どこからやってきたソースなんだろう。。。

5.1.3 ダブルバイト文字セッ

ダブルバイト文字は標準ASCIIセットとともに、$80〜$FFの範囲で
追加の文字を使用する

  • 問題点

文字列内の文字にによって2バイトを使用するものと1バイトしか使用しないものがあるということ

if( c < 0x80)

こう言う処理があるのはそのためか。

5.1.4 Unicode文字セット

Unicodeでは、各文字を表現するのに16ビットワードを使用する
Unicodeha65,636個までの文字をサポートする
Windowsは内部でUnicoeを使用しているので、ASCII文字列を渡すよりも
Unicode文字列を渡したほうが実行スピードが速い

  • 欠点

ASCIIなどと比較して2倍のメモリを消費する
文字列長も2倍になるので、命令数も2倍になる
世界のデータファイルの多くがASCIIかEBDICの形式

欧米圏発のOSSで、多バイト文字が動かないものが多いんだよなー。












Randall Hyde、鵜飼 文敏、まつもと ゆきひろ、後藤 正徳、トップスタジオ