プログラマのための文字コード技術入門

サポートページ

補足情報

P.301 最後の段落(第1刷、第2刷)

「一方、UTF-16...」以降~段落末尾までの記述について補足:UTF-16では制御文字CRのバイト表現は00 0Dのような連続した2バイトになるので、trで削除するということ自体そもそもできず、適当な例ではありませんでした。

trの代わりに、Perlなどを使って00 0Dというバイト列をただ削除すると、たとえばU+4E00 U+0D05という文字の並びに対応するバイト列4E 00 0D 05の途中2バイトも対象になってしまい、やはりテキストデータを壊してしまいます。

なお、ここの解説での主旨は、UTF-16にはASCII制御文字のバイトも文字のコード値の中に現れるので注意が必要という点です。

P.356 「ファイル交換の際のトラブル」項(の最終段落末尾)の補足

なお、iconvで「UTF-8-MAC」という場合、Unicodeの正規化仕様に厳密に従ったNFDではなく、p.355で説明した互換漢字の置き換えをしないNFDが適用されます。

お詫びと訂正(正誤表)

本書掲載の記述に誤りがありました。ここに訂正し、深くお詫び申し上げます。

(2015年10月2日更新)

P.25 3行め(第1刷のみ、第2刷以降修正済み)

イギリス、フランス、スウェーデン、ドイツ、中国等
イギリス、フランス、スウェーデン、ドイツ等

補足:該当の記述部分で列挙するには適当ではないため訂正。中国にはGB 1988というISO/IEC 646国際基準版を元にした文字コード規格がありますが、GB 1988は符号位置2/4を円記号(¥)にするという変更を行なっていて、基本符号表の枠組みに基づいた変種ではありません。

P.111 表3.3(第1刷~第4刷)

誤
正

P.209 下から5行め

\5B571と書くと5桁
\56F31と書くと5桁

P.208 ページ中ほどのタグ付け例(第1刷〜第3刷。以降、修正済み)

<span lang="zh">你好</a>
<span lang="zh">你好</span>

P.363 7行め(第1刷~第4刷)

末尾に一文を追加。

ただし、新規追加される絵文字の中には、面01でなくBMPの既存のブロックに追加されるものも一部あります。