図書館で借りて読んだ。

以前にも借りた記憶があって、内容を思い出そうとしたんだけど全く思い出せなかった。「なんでかなー、怖いなー、やだなー」と思ってたんだけど、借りただけで全く読んでなかったYO!

内容はというと、文字コードについて体系的に学べる本。

規格、文字集合と符号化方式の切り分けとそれぞれの理解が進んだ気がする。

特に大事だなと思ったところは、ISO/IEC 2022 で制御文字と図形文字の組の表が 2つ(CL/GL、CR/GR)あり、必要に応じて GL や GR を入れ替えることができる規格ということ。

その他は、UTF-8 が可変長文字コードな理由が、バイト数削減のためという愚直な認識だったけど、Unicode の互換性を保つためということを知れてよかった。

Notes

  • 文字コードとは、文字集合を定義し、各文字に対応するビット組み合わせを一意に定めたもの
  • ASCII では、大文字のアルファベットに第 6bit を 1 にセットすると小文字になる(=0x20 たすと小文字になる)
  • 文字コードを複雑化させるのは、過去の経緯の積み重ねと、文字そのものの難しさがあるため
  • ISO/IEC 646 を元に各国版の ISO/IEC 646 が作成され、日本では JIS X 0201 として標準化された
  • 複製言語が扱える ISO/IEC 2022 が作られる。ISO/IEC では CL/GL、CR/GR に分けられ、必要に応じて GL や GR を入れ替えることができる
  • ISO/IEC 2022 はエスケープシーケンスを使って、GL、GR の切り替えを行う
  • JIS X 0208 を ASCII と組み合わせて使うために、Shift_JIS などの符号方式がある
  • EUC-JP や IS-2022-JP は、ISO/IEC 2022 に整合的で、Shift_JIS はそうでない
  • ISO/IEC 8859-1 = Latin-1
  • JIS X 0212 は JIS X 0208 に足りない文字を補う文字集合
  • JIS X 0213 は JIS X 0208 を包含するスーパーセット