OSASK半角文字コード案

  • (by K, 2009.01.10)

(0)

  • neriさんが以前、helloを小さくするために7bitエンコードにしたらどうだろう、みたいなことをいっていたんだけど、そのときは「ご冗談を」と軽く流していた。しかしいろいろ考えると、これはこれで悪くない気がしてきた。

(1)

  • 文字コード案:
    • 基本的にはASCIIと同じ。しかし以下は違う。
    • 01-09, 0b-0c, 0e-1f
    • 10-1fは制御コードではなく、16進数表示用である。もちろん10進数もこれで表示できるが、一応30-39も従来との互換性のために残されている。基本的にはこの部分は同じフォントが出る。
    • 01-09, 0b-0c, 0e-0fはリザーブで、10-1fの範囲にある制御コードなどを転用するときに使うつもり。

(2)

  • コンソール出力に関して、以下のようなエンコードを許すことにしても、互換性は損なわれない。
  • 出力された8bitを上位1bitと下位7bitに分解。通常は下位7bitだけを通す。上位1bitが7つ集まった時点で、これが000_0000でなければ出力する。また一度でも上位ビットによる出力をしたのなら、以降は上位ビット列が000_0000になったときは、ASCIZ終端と判定してよい。
    • まあでも互換性なんか無視していいのなら、普通に7bitずつ送りつけるほうがいい。ややこしいことはない。
  • これをやると、hello.g01は1バイト減る。calc1は(1)によって8バイト減る。
  • ファイル向けの出力ではこのエンコードを受理しない。このエンコードにするためには何かフラグが必要。

(3)

  • 挫折した6bit案:
    • 数字に16、アルファベットで26(大文字はエスケープキャラクターでやるとして)。NUL, SPC, TAB, CR, LFで5。大文字小文字のエスケープ系で2文字。ここまでで49。残り15。
      <>()[]{} --- これで8。
      ,.!"'+-=_*#$%&_^|/?\;: ... 主要な記号だけで22ある。とても収まらない。

こめんと欄


コメントお名前NameLink

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: 2009-01-10 (土) 10:24:01 (4918d)