Unicodeについての長年の疑問(TerapadのUnicodeってなんだよ)

中学1年からネットを使い始めるようになり、文字コードの存在を知りました。

大学1年からプログラミングを初め、文字コードを意識するようになりました。

そしてプログラマなら必ず1度はぶち当たる壁「文字コード」、こいつについ最近まで悩まされていましたが

なんとか一歩前進することが出来ました。(乗り越えてはいない)

うん・・・全てはTeraPadが悪いんです。

そもそもUnicodeがSJISとかUTF-8とかの文字エンコーディングではないことは、Joel on Software 第4章「すべてのソフトウェア開発者が絶対確実に知っていなければならないUnicodeとキャラクタセットに関する最低限のこと(言い訳なし!)」で分かってはいました。大学院1年の頃から。

アマゾンのサーバでエラーが起こっているかもしれません。
一度ページを再読み込みしてみてください。

しかし、納得できない・・・

だってTeraPadでエンコーディングにUnicodeって選べるんだもん・・・

最近気になって調べたら、ちゃんと解説してくれているサイトがありました。

http://www.blackcatlab.com/article.php/unicode_utf 

ほほう、なるほど。TeraPadで選べるUnicodeはUTF-16なんですね。TeraPadさん、まじたのんますよ・・・。

他のエディタ(Eclipseとか)はちゃんとしてるのにー。

という訳でやっぱりUnicodeは文字コーディング方式ではない訳です。

未だにこれ、分かってないんだろうなーという人がよくいます。

会社でも「お前何年目だよ・・・」って人が混同してて

「文字コードはUnicodeで統一しよう」とか言ってるシーンをたまに見ます。がっかりします。

まあ、俺もあんまり人のこと言えませんが・・・。

キャラクタセットとか未だに何なのか知りませんし。文字エンコーディングで扱えるキャラクタ群のことでしょうか。

話は少し変わって、Unicodeと言えばUTF-8を連想しますが、こいつもややこしい。

UTF-8, UTF-8N, UTF-16, UTF-32, etc

TeraPadのUnicodeを調べるついでにこいつらも調べて勉強になりました。

UTF-32が一番知ってよかったかも。UTF-32は愚直な実装で、常に4バイト使用する代わりにUnicodeのコードポイントがそのままという

非常に理解しやすいしエンコード方式でした。

今回のタイトルとあまり関係はありませんが、物書き(文章)の世界では文章量をファイルサイズで表現することがあるみたいですね。

友人が記述量を文字数や行数で表現せずにKBで表現してましたし。俺妹(ラノベ)でもKBで表現してました。

プログラマ視点だと、文字コードでサイズ変わるし、たとえSJISが前提だったとしても1バイト文字と2バイト文字がありますし

そんな尺度で大丈夫なのか・・・?と思ってしまいますね。

まあ文字コードだけ前提で決まってれば、尺度としてはそれほど悪くないとは思いますが。