2024年2月1日木曜日

30年ぶりにwindowsがshift JISコードを使っていることを思い出した

所用で画像ファイルを送る必要が生じた。20枚くらいのJPEG画像だったのでzipで固めて送った。先方は画像を無事に見ることができたのだが、「ファイル名が文字化けしていた」とも言われた。数秒考えて、先方がwindowsを使っているのだと気づいた。windowsも今はUTF-8になったのではないかと思っていた(興味がないので本気で調べていない)のだが、どうやら未だにshift JISを使っているらしい。

shift JISは1985年にパソコン通信で日本語表示をしたとき世話になった。PC-9801の漢字コードがshift JISだったからだ。ところがその1年後に就職した職場がunix環境の日本語エディタを開発していた。そのときshift JIS特に半角カナは何者にもまさる悪であり、使うと地獄に落ちると先輩から教えられた。1986年当時のunix環境の日本語エディタはJISコードが標準だった。

その後10年間はJISコードメインで暮らしていたが、1996年からlinuxを使い始めてその日本語環境はEUCコードが標準だった。その後10年くらいはEUCメインで暮らしていたが、新しいlinuxディストリビューションに替えたときに自然にUTF-8に変わってしまった。そして今もUTF-8だ。UTF-8よりUTF-16の方が概ね2バイトで統一できて自然だと思うのだが、英字をメインで使う人たちは英字が1バイトで済むUTF-8を好むので、世界のデフォルトがUTF-8になるのは仕方ないと思う。

OSを含めて文字を処理するプログラムは、いろいろな文字コードに対応しなくてはいけないのでたいへんだと思う。私はそういう複数文字コード対応プログラムは書きたくない。文字列処理のプログラムはUTF-16入出力に固定して作成して、入力前と出力後に適当なフィルターで所望の文字コードにするのが省力かつエレガントな気がする。

0 件のコメント:

コメントを投稿