稲枝の押入れ

いなえが適当なことを書いては、しまっておく場所

矢野啓介氏著「W E B + D B P R E S S p l u sシリ ーズ [改訂新版 ]プログラマのための文字コ ード技術入門」を読んで

読了記録。   
文字コードについてよく知らないなと思って読み始めた。偶然にも文字コードについて知識が必要になる場面があったので、それも良い感じに働いて、モチベそこそこに読めた。

(厳密さも必要ないと思うので以下、符号化文字集合も文字符号化文字も文字コードとざっくばらんに書く)


本書は、題名の通り技術者が文字コードを扱うために基礎的なことを学ぶ入門書だ。結構基礎的な事からやってくれるのでありがたかった(前半は非技術者でも気合いがあれば読めるかもしれない?)。


読み始める前は、ASCIIについては何となくわかるが、Shift_JISEUC-JP、Unicode等については何もわからなかった。正直UnicodeUTF-8UTF-16の違いさえわかっていなかった(これについては本書にその戦犯がさりげなく記されていた…MS…)。本書はその様な初心者状態でも読み始められる。


全体としての難易度は普通、と言った感じだった。文字コード自体はその経緯などもあり複雑なものも多いので理解しづらかったり、難解なものもある。しかし少なくとも本書の範囲においては、ゆっくり読めば大体は理解できると言った感じだった。ただし、場所によっては言い回しが分かりづらかったり(個人の感想です)、前提問題が共有されていなかったようで何度読んでも理解出来ない所があって辛かったりはした(ググったらすぐに理解できたので現代においては問題にならない)。


この書籍で勉強して良かったのは、文字コードが策定されるまでの経緯等について踏まえている事だ。正直読み始めた頃は「僕は歴史ではなく文字コードについて学びたいのだが」と思っていた。しかし、その仕様を理解する上でも、策定の経緯を押さえて置く事には意味があった。何故このようにデータを扱うのか、の由来に理由があるのは覚えやすい。文字コード同士の関係も覚えやすくなったりもする。そういう点では非常にお勧めできる。


また、恐らく避けて通れないのでそういう構成になっているというだけだとは思うが、規格を確認しながら進めていく形式は個人的にありがたかった。自分が理解した内容が何についてのものなのか把握できた。


前半は有名どころの文字コードについてその歴史と内容を一通り見るものだった。Unicode周りまで読むだけでも価値がある様に思う。


後半については、実際に使用する際のリファレンス的なものが増えている印象だった。各文字コードの基本的な考え方を知りたいのであれば最後の方は読まなくても良いかもしれない。ただし、文字コードを扱う上での慣習や問題について把握したいのであれば飛ばすことはできない様にも思う。また、本書執筆の際に参考にした書籍や、より深い学習をする際に参考となるであろう書籍についてのリファレンスもあるので、有用である。


個人的には、文字コードは今やどこにでもついてくる問題なので、自分が必要だと思うところまで読み進めるのがいいと思う。読み物として読めないほど重い、ということもない。


総評としては、文字コードについて良くわからない人にはお勧めできる良い書籍であったように思う。なんだか良くわからないけどなんとなく扱っている、という以前の僕のような人には特にお勧めだ。

 

僕が以前書いた文字コードまとめ - 稲枝の押入れは、要点を押さえながら本書を読む為に、本書を参考に作ったものであるので、もし本書を読んでいる最中に整理をしたくなったら参考にしていただけると助けになるかもしれない。


要望があるとすれば、ISO/IEC 2022で2バイトの符号化文字集合を使う場合について、GLもしくはGRの7bitにも満たない幅をどう使用して2バイト文字について表すかを、具体例を交えて記して欲しかったというくらいだろうか(予想はしていたものの明言されなかった様に思う。勿論、僕の記憶違いの可能性も大いにあるので興味のある人は読んで「ここに書いてたぞ!!」と教えて欲しい)。終始モヤモヤしていて最後には個別に調べる事になった。


何にしても、初学者には1冊で重要な知識について纏まっていてありがたい1冊であった。