(Original: Sat Mar 29 04:09:38 1997)
Last modified: Mon Jun 13 23:59:31 JST 2022

日本語文字コードの話

Shift-JIS やら EUC やら

現在, 日本語文字コードは UTF-8 に統一されてきた感があるが, 私がコンピュータに触れ始めたころ, 色々な文字コードが存在していた. 代表的なもので JIS, Shift-JIS(以下 SJIS), EUC. テキストデータをやり取りするとき, これが合わないと所謂「文字化け」が 発生し, 文章が読めなくなってしまっていた.

ちなみに UTF-16 は完全に日陰者になってしまいましたね. 私は音楽ファイルの タグを UTF-16 で管理していて... 今更 UTF-8 に変更するのも面倒で...

例えばメール. 規約では JIS エンコーディングを用いる事になっていたが, Microsoft 社は Windows に付属するメーラーで勝手に SJIS を使うなど 掟破りの暴挙に出たりしていた. 周りはそれが間違い/暴挙と知りながらも, メジャーなメーカーのツールで書かれた メールが読めないと困るので, 無理やり SJIS に対応していた. (私が Microsoft を好きになれないのは, こういうのが原因だと思う.)

Microsoft の横暴は他にも色々ある. 例えば HTML. 勝手に拡張や変更を導入し, ホームページ作成者にたくさんの迷惑をかけた. エンコーディングも規定では JIS のハズが, これまた規定を無視したページが たくさん存在した. このエンコーディングは単純には Microsoft のせいではないが, やはり Microsoft の標準テキストエディタ(メモ帳やワードパッドなど)が SJIS となっていた影響は大きい. HTML の勝手な拡張も大手の強みで, 結局他社も Microsoft-HTML で書かれた ページを表示できるように対応せざるを得なかった. (こんな横暴なことをしておきながら謝りもせず, IE や Edge を標準のブラウザ として使って下さいとはよく言えたものだ.)

話をメールに戻すと, 最近は HTML 形式で送って来る人が多い. その昔, SJIS で送って来るのも嫌っていた私としては, 輪をかけて Rich Text や HTML(+SJIS) で送って来るのは許せなかった. それが今にも影響して HTML メール嫌いが続いている.

半角って...

HTML メールよりも嫌いなものが半角/全角という表現. 文字コード自体は文字を 表現しているだけで, サイズ情報とは全く別のもの. それなのに 1byte 文字 = 半角, 2byte 文字 = 全角と勝手にバイト数と 文字の大きさを関連付けてしまっている. あー嫌だ. 1byte 文字を 2byte 文字の倍の大きさに表示するワームを作って流したら 面白そう.

半角/全角に伴い, 2byte 英数字/記号なども嫌です. 今は検索する場合でも ソフトの方が対応して 1byte 文字でも 2byte 文字でも関係なく検索してくれるが, 昔は自分で検索プログラムを書く場合など, 2byte 数字などに対応させるのが 面倒ですごく嫌でした. 今でも 2byte 英数字を使ったテキストは嫌いです.

私のページを見ていただくと分かっていいただけるかもしれませんが, 1byte 文字(ASCII 系)と 2byte 文字(日本語系)を意識して, 基本的に 両者の界には空白(0x20)を入れています. (基本的にと書いたのは 括弧 '(' など 例外もあるためです.) 句読点も英文とのマッチングのためピリオド(.), カンマ(,)にしています. これも文字化け対策と 2byte(全角) 英数字嫌いの影響が大きいです.

こうしてみると, 何か過去のトラウマを引きずっていますね. Unicode(UTF-8/UTF-16 等)では「Halfwidth Katakana (半角片仮名)」として 正式に文字コードが割り当てられている様で, もう「文字コードと 文字のサイズは全く別の話」なんて言えなくなってしまいましたし. UTF-8 一色の世界が当たり前の人たちから見ると頭の固い可哀想な人としか 言えないのかも... (うーん. 我ながら自分が可哀想.)