2010-09-01から1ヶ月間の記事一覧

プログラマのための文字コード技術入門 第8章「はまりやすい落とし穴とその対処」その1

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)作者: 矢野啓介出版社/メーカー: 技術評論社発売日: 2010/02/18メディア: 単行本(ソフトカバー)購入: 34人 クリック: 578回この商品を含むブログ (129件) を見る今…

プログラマのための文字コード技術入門 第7章「プログラミング言語と文字コード」その5

第7章の続き、Ruby 1.9 での文字列扱いについてです。 マジックコメントについて 「Shift_JIS は(略)完全な ASCII 互換ではありませんが、ruby 1.9 では ASCII互換とみなしており」ASCII 互換じゃなかったのか。 String は自分のエンコーディングを知ってい…

プログラマのための文字コード技術入門 第7章「プログラミング言語と文字コード」その4

第7章の続き、Ruby 1.8 での文字列扱いについてのところから再開です。 Ruby 1.8 では String はただの 8ビットのバイト列。length などのメソッドもマルチバイト文字を考慮しない(バイト数を返す) 文字クラスはない require "jcode" すると String が拡張さ…

プログラマのための文字コード技術入門 第7章「プログラミング言語と文字コード」その3

今日から第7章の続き、Java での文字列のソートと文字分割についてです 何も考えなければ Unicode 基準でのソートになる。英数字ひらがなカタカナくらいはともかく漢字は読み基準というわけではない微妙な結果になる Collator というのを使って言語毎に自然…

プログラマのための文字コード技術入門 第7章「プログラミング言語と文字コード」その2

今日から第7章の続き、Java での文字コードの扱い、サロゲートペアのあたりからです。 サロゲートペアに対応するため char 型で文字を扱うメソッドに対応する int 型で扱うメソッドを追加(JDK 1.5から) ex) charAt() -> codePointAt() 直接文字列の文字を操…

プログラマのための文字コード技術入門 第7章「プログラミング言語と文字コード」その1

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)作者: 矢野啓介出版社/メーカー: 技術評論社発売日: 2010/02/18メディア: 単行本(ソフトカバー)購入: 34人 クリック: 578回この商品を含むブログ (129件) を見る今…

プログラマのための文字コード技術入門 第6章「インターネットと文字コード」その2

今日は第6章後半です。実は本書を読むまでメールのヘッダの B符号化、Q符号化のような符号化ことをいわゆるJIS文字コード(ISO-2022-JP)だと思ってました。全然違いましたね。また '&' を含む URL の HTML や XML に書く時には、厳密には '&' は '&' に置…

プログラマのための文字コード技術入門 第6章「インターネットと文字コード」その1

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)作者: 矢野啓介出版社/メーカー: 技術評論社発売日: 2010/02/18メディア: 単行本(ソフトカバー)購入: 34人 クリック: 578回この商品を含むブログ (129件) を見る今…

プログラマのための文字コード技術入門 第5章「文字コードの変換と判別」その3

引き続き第5章のコードの自動判別です。 BOM、エスケープシーケンスでの判別 - これは比較的確度の高い方法 バイト列の特徴をみる そもそも EUC-JP としても Shift_JIS としても正しく文字列を示すバイト列というのはありえるので、完全な判定というのはあり…

プログラマのための文字コード技術入門 第5章「文字コードの変換と判別」その2

引き続き第5章の文字コード変換です。 そもそも文字集合が違う文字コード間の変換は問題になる。対応する文字がない、似た文字が複数ある(包摂)など 変換で情報が失なわれたり、往復変換で文字が変化してしまったり 文字を変換してしまう(文字変換)こともし…

プログラマのための文字コード技術入門 第5章「文字コードの変換と判別」その1

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)作者: 矢野啓介出版社/メーカー: 技術評論社発売日: 2010/02/18メディア: 単行本(ソフトカバー)購入: 34人 クリック: 578回この商品を含むブログ (129件) を見る今…

プログラマのための文字コード技術入門 第4章「代表的な文字符号化方式」その2

今日は第4章の Unicode の文字符号化方式です。 Unicode の符号化方式 元はシンプルに区点番号を並べた UCS-2, UCS-4 UTF-16 1つの符号位置は基本2バイト。BMP面以外は 4バイト BMP はシンプルに16ビットで符号化できる。他の面はサロゲートペアを用いる サ…

プログラマのための文字コード技術入門 第4章「代表的な文字符号化方式」その1

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)作者: 矢野啓介出版社/メーカー: 技術評論社発売日: 2010/02/18メディア: 単行本(ソフトカバー)購入: 34人 クリック: 578回この商品を含むブログ (129件) を見る長…

プログラマのための文字コード技術入門 第3章「代表的な符号化文字集合」その6

昨日はちょっとトラブルでお休みしました。またまた Unicode の続きからです。 Unicode ISO/IEC 10646(UCS) 全角半角のコードが分けられてる 往復変換で元の文字コードの情報が失われないように余分な符号位置も存在する 統合漢字 互換漢字 なんとかかけあし…

プログラマのための文字コード技術入門 第3章「代表的な符号化文字集合」その5

昨日はちょっとトラブルでお休みしました。またまた Unicode の続きからです。 Unicode ISO/IEC 10646(UCS) BMP(基本多言語面) だけでほぼ普段使う文字は入ってそう 面01(SMP Supplementary Multilingual Plane) 麻雀牌の絵柄とか音符とか古代の文字が入って…

プログラマのための文字コード技術入門 第3章「代表的な符号化文字集合」その4

Unicode の続きからです Unicode ISO/IEC 10646(UCS) UCS-4 群(group), 面(plane), 区(row), 点(cell) の4バイトで指定 UCS-2 UCS-4 の群00、面00。基本多言語面(BMP)のみの符号 実質的に 群00以外の群は利用されない 記法。U+4E00 は BMP の 区4E 点00 の符…

プログラマのための文字コード技術入門 第3章「代表的な符号化文字集合」その3

ISO/IEC 8859 シリーズの続きからです Latin-2 (ISO/IEC 8859-2) Unicode ISO/IEC 10646(UCS) UCS == ISO/IEC 10646 Unicode ≒ ISO/IEC 10646 別の規格だけど同じ内容になるようにされてる JIS X 0221 ≒ ISO/IEC 10646 日本版。同じになるように決められてい…

プログラマのための文字コード技術入門 第3章「代表的な符号化文字集合」その2

JIS X 0208 の続きからです JIS X 0208 外字 いわゆる機種依存文字の話題。独自拡張のせいで文字化けの原因に JIS X 0212 JIS X 0208 と組み合わせて使うことを前提にした、JIS X 0208 に含まれていない記号や漢字を補うための2バイト符号化文字集合 EUC-JP …