プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESSプラスシリーズ)

著者 :
  • 技術評論社 (2010年2月18日発売)
4.09
  • (44)
  • (37)
  • (30)
  • (2)
  • (0)
本棚登録 : 786
感想 : 35
5

改訂版がでている本ですが。

1章 文字とコンピュータ
 符号化とはいろんなことをコンピュータ内のbitで表現することを言う。
 文字とビットの対応させるルールを文字コード。表現されるビットそのものを
 文字コードと表現することもあるがどちらかというとそれはコード値

 コンピュータに符合化する文字の集まりを文字集合という(符号化文字集合)
 この符号化文字集合をbitに割り付けるルールを文字コード
 最初の文字コードがASCII(ISO/IEC 646国際基準版)になる。

2章 文字コードの変遷
 もっとも基本的な文字コードASCIIについての説明。
 ASCIIはアメリカの文字コードに適したようにつくられているので
 他の国には(イギリス、フランスなど)使いづらかったので
 ASCIIをベースに各国用の文字コードが決められた。これが
 ISO/IEC 646として規格化されたその日本版がJIS X 0201
 ASCIIとJIS0201のちがい
  \(バックスラッシュ)が円記号
  ~(チルダ)がオーバライン
 文字コードの拡張方法(ISO/IEC 2022)により複数の国の文字が
 まざった文書がかけるようになる。(エスケープシーケンスによる切替)
 
 2バイト符号化文字集合の実用化がJIS X 0208=JIS第1.第2水準漢字。
 ここで漢字のような2バイトでなければ表現できない文字集合と1バイトで
 十分な文字集合を同時に使用できる符号化方式が開発され、今も使用されている。
 Shift_JIS EUC-JP ISO2022-JPがそうである。
 JIS X 0208 + JIS X 0201(ASCII) => Shift_JIS
 
 世界中の文字を1つの文字集合、文字コードで表現するというのがUniCode
 ISO/IEC 10646である。いろいろとあったようであるが現在ではUTF-8とUTF-16
 で表現されている。UniCodeが完成したから既存の文字コードがなくならない
 のはあたりまえのことであるが・・

3章 代表的な符号化文字集合
 ASCIIとISO/IEC 646 基本的な文字コード
 各国版(1BYTE文字)のASCII ISO/IEC 646
 日本版のASCII JIS X 0201
 JIS X 0208 今なお使われている日本語のための2バイト文字集合,文字コード
  記号類、ギリシャ文字、キリル文字、ラテン文字、ひらがな、カタカナ、
  漢字(第一水準、第二水準)までを含んでいる。現在に至るまでいろいろ
  改正されているようである。
 JIS X 0212 補助漢字と呼ばれJIS X 0208と組み合わせて使用されることが
  前提となっている。2バイト符号化文字集合
 JIS X 0213 JISX0212につづく漢字の拡張であるがJIS X 0208 + JIS X 0212
  ではなくJIS X 2013 = JIS X 0208 + 0212 +さらなる拡張 であり
  JIS X 2008を置き換えて使用する文字集合となる。JIS X 0213には第3水準
  第4水準の漢字が追加されている
 ISO/IEC 8859 1バイト符号化文字集合 Latin-1,Latin-2がある
 UniCode ISO/IEC 10646 規格がでかいので省略

4章 代表的な文字符号化方式
 JIS X0201の符号化方式(日本のASCII) 7bit符号と8bit符号がある
 JIS X 0208符号化方式 Shift_JIS,ISO-2022-jp、EUC-JPを含む計8種るもの方式がある
  このうちもっとも有名で事実上の標準がShift_JISである
 UniCode UTF-16はjavaの文字列表現に使用されている。最も広く使われているのはASCIIとの
  互換性があるUTF-8である

5章 文字コードの変換と判別
 各文字コード間での変換が必要である。ツールとしてはiconvnkfなどがある。
 文字コードを読み込んだ文書から判別する技術が自動判別である。BOMで判別する
 方法エスケープシーケンスによる判別などある。

6章 インターネットと文字コード
 電子メールの世界では7bitしか使えない制約があり、多言語やプレーンテキスト以外の
 バイナリデータもおくれるようにする技術がMIMEである。
 7bitしかとうせないので8bitのデータをとうすためbase64などの符号化技術が(文字の符号化とは違う)
 適用されている

 Webで使用される文字コード いろいろありそうなので省略

7章 プログラミング言語と文字コード
 Java 内部コードを持っている言語、内部コードはUniCode。 同じよな方式を取っているのはC# Python,Perlなどがある
 この方式を取っていない代表としてはRubu 1.9がある。
 javaのソースコードはUniCodeでなくてもよい。このとき外部コードから内部コード(Unicode)に変換されている。

 Ruby1.9は文字列ごとに文字コードの種類に関する情報を持つようになった。

8章 はまりやすい落とし穴とその対処
 文字化け 
  Shift_JISをEUC_JPとして表示するなど、文字コードが違うことに起因する文字化け
  機種依存文字に起因する文字化け
  改行コードに起因する文字化け
  全角、半角問題
  円記号問題
  波ダッシュ問題・チルダ問題

Appendix
 省略

読書状況:読み終わった 公開設定:公開
カテゴリ: 規格
感想投稿日 : 2020年1月3日
読了日 : 2020年1月3日
本棚登録日 : 2020年1月2日

みんなの感想をみる

コメント 0件

ツイートする