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

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

補足情報

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の既存のブロックに追加されるものも一部あります。