わたしはなぜUTF-8にこだわるのか

以前に松永さんに関連した要望を貰ったというだけの理由で反応してみます。*1

http://kotonoha.main.jp/2005/05/09charactercode.html#m_p3
http://www.kmonos.net/wlog/#_2126050512
http://www.interq.or.jp/student/exeal/dss/res/alpha/diary/#d0520

正直な話、私がEOFileをUnicode化したのは、単にOSの扱えるはずのファイル名を扱えないファイラーなんて誰も使わない私も使わないと思ったからで、もしWindows2000が他のコードをAPIの引数として採用してたら恐らくそっちに追従してたんじゃないかなー…と。
失礼承知で推測すると、k.inabaさんも、Windows SDKが#defineひとつでA/Wを切り替えられるようになっていたからGreenPad Uを作られたのであって、もしWindows SDKが#defineひとつで(UTF-16ではなく)TRONコードを使えたらGreenPad Tができてたのではないかなー…と。
Alphaについては恐らく私は何も言う資格は無しです。

まあ私はそんな感じですので深い思惑なんてまるで無いのですが、無理やり理由をでっち上げるなら…

  • ハートマークとか使いたいから♥*2
  • 懐古趣味のあるDOS時代経験者として、バイナリファイルをテキストエディタで無理やり開くような習慣があるため、1文字1バイトを最小単位とする可変長であって欲しい。*3
  • 上記二点を満たす手っ取り早い選択肢がひょっとしたら他にもあるのかもしれないけど規格とかまるで読まない私の手の届く範囲にはUTF-8しかない。
  • Q.E.D.

えーと…一般化したとしても、使いたい文字がそこにあるから以上の理由は要らないとおもいます。
ついでに書いておくとSJISにもSJISのメリットはあって、PC-98の2バイトANKを除けば、バイト数と、全半角の文字幅が一致する、固定長フォント万歳の世界がそこにはあります。テキスト画面で何かやろうとするならSJISが一番便利な文字コードなのは間違い無いでしょう。文字コードの価値は収録文字数だけでは無いのです。

*1:今はだいなかMDIEに乗り換えられてしまったかな?

*2:でもWXGがSJIS時代のIMEなので実際にはSJISの範囲しか使えない私。

*3:現実には複数の文字コードが入り乱れるようになって以降、内部で1種類の文字コードに変換してしまうエディタばかりですのでThebeができました。ThebeはUnicodeを使いたいのではなくむしろ逆で、SJISと一緒に埋めこまれた文字コードとしては不正なバイナリデータを壊すなという常識人には意味不明の想いが込められております。自分自身にそんな需要も無いくせに。