らんだむな記憶

blogというものを体験してみようか!的なー

文字集合とか文字コードとか

[改訂新版]プログラマのための文字コード技術入門 (WEB+DB PRESS plusシリーズ)などを読みつつざっくり備忘録
で「なんとなく似ているかそれ以上」くらいのニュアンス。=で「まぁ同じかそれ以上」くらいのニュアンス。

ASCIIとかLatin-1周辺

・但し、JIS X 0201ではJIS X 0201 - Wikipediaのように「片仮名図形文字集合」がある。
JIS X 0201 - Wikipediaより「ASCIIと比較すると2文字が異なっており、92番の文字にバックスラッシュ ('\') の替わりに円記号 ('¥') が、126番にチルダ ('~') の替わりにオーバーライン ('‾') が割り当てられている。」にも注意。

JIS X 0208とかJIS X 0213周辺

・JIS0208.TXTの593行目などを見ると、「愛」(U+611B)のJIS区点コードが0x3026となっていて、更にShift_JISのコードとしては0x88A4であることが分かる。
JIS X 0208-1983からJIS X 0208-1990への改正で「凜」(U+51DC)が増えており、これは84区5点(JIS X 0213では1面84区5点)にある。Shift_JISのコードとしては0xEAA3のようである。

Shift_JISJIS X 0201の8bitコードを拡張したもの。
・CP932.TXTでShift_JISのコード0x88A4のところを見ると、U+611Bであることが分かる。
IBM & NEC統合の過程でJIS X 0208-1990を採用したようだ。
MacJapanese - Wikipediaによると、全角文字部分はJIS X 0208-1990を基にしているということで90pv-RKSJ-Hが近いんじゃないかな・・・とは思う。MacJapaneseのコードとして0x8540は「Apple標準システム外字」としての「丸付きの数字1」のようであり、Adobe-Japan1規格からすればCID+7555が相当すると思われる。とすれば、90pv-RKSJ-Hが妥当な写像を提供している一方で、83pv-RKSJ-HではCID+232の半角幅の!に写してしまっておりよく分からない。という意味ではやはり90pv-RKSJ-HのほうがMacJapaneseに正しく対応しているのでは?と思うが、結構83pv-RKSJ-Hも使われているような気もする。CID-Keyedフォント|千都NEWSダイジェスト|ヒラギノサポートに書いてあるようなアプリケーションの互換性に起因するのかもしれない。また、83pv-RKSJ-HがJIS X 0208-1983を基にしているならJIS X0208-1990で追加された「凜」(U+51DC)が抜け落ちていても不思議ではないのだが、0xEAA3からCID+8284への写像が定義されており、実はなんだかんだでJIS X0208-1990の情報も考慮されていそうでますますよく分からない。

Shift_JISと組み合わせられないのでイマイチ普及せず。→ JIS X 0213

Unicode

・重要なASCIIに対応するISO/IEC 646の頭に10を補った感じで覚えやすい。*6
Unicode - Wikipediaにあるように、サロゲートペアの表現の上限が0x10FFFFなので、群00面17までのコードポイント以外は削られたらしい。

・これらのマトリクスは区(row)が縦方向、点(cell)が横方向なのでなんかシックリこない・・・。
変体仮名を打ちたいならこれ: Unicode変体仮名フォント

符号化方式

JIS X 0208の符号化方式

・GLに呼び出す場合には、図形文字に用いるコード範囲がSP(0x20)の後ろの0x21からなので、区点コードに0x20を加える。GRに呼び出す場合にはbit8を立てる(=0x80を加える)が加わるので、0xA0(=0x20+0x80)を加える。

・電子メールの符号化については、ISO-2022-JPが歴史的によく使われていたが、ISO-2022-JPJIS X 0201片仮名集合を含まないので半角片仮名に対応するコードが使えないっぽい?MIMEエンコードされたメールのデコード方法 - Qiita日本語のe-mail、ISO-2022-JP以外のcharsetを使うのは是か非か | スラド ITも踏まえつつ、きっと現在はほぼUTF-8だろう・・・と信じたいところ・・・。(と思ったが、届いたメールのヘッダを見た感じだと1/3くらいはISO-2022-JPのように見えた・・・)

*1:JIS X 0208:1990なので古い

*2:マイクロソフト及び、MS-DOSOEMベンダがShift_JISを独自に拡張した文字コード

*3:アップルが Shift_JIS を独自に拡張した文字コード

*4:JIS2004

*5:113,177,929 バイトの闇の深いファイル・・・

*6:ISO/IEC 646 - Wikipediaにもそう書いてある。

*7:BMPの中でみんな大好きなやつ