チルダです。
普通にキーボードで〜〜〜〜〜〜って簡単に入力できますが、
これ、UTF-8とかunicodeになると、とたんに操作がしにくくなります。
それは、FF5E(Unicode)と301C(Unicode)の2種類があるからです。
ちなみに、301Cの方はWave Dashであり
FF5EはFull Width Tildeです。
まぁ、以前もこんな事を書いた覚えがありますが、ちょっとした違いでは済ます事が出来ないのです。
キーボードから何気なく入力できる〜はFull Width Tildeです。
キーボードがTILDEなんですから、これが入力できるのは当然です。
しかし、UTF-8からEUC-jpに変換する時に、どうも片方しかないらしく?
Full Width Tildeは変換されずエラーに
Wave DashがFull Width Tildeに変換されるのです。
これは可逆変換ではありません。
その後は
Wave Dash ←→ Full Width Tilde
の変換になってしまいます。
なら、そうなる様に作れば良いという話もあるのですが、
これが、そう簡単にはいかない辺りがポイントです。
なぜって、perlはUTF-8に対応してから、文字列の変換が厳格化され、EUCで動作している最中でも内部コードはUTF-8な訳です。(注:UCS2の場合もあります)
だからUTF-8のコード変換がやたら面倒になりました。
なので、UTF-8のFull Width Tildeを全部Wave Dashに変換しようとしたんだっけ?
逆だっけ?
まぁ、そんな事をしようとしても、以前なら\x11\x22\x33等の様にcodeを並べておけば変換できたのが全然出来なくなったのです。
で、これが分かるまでになんと2ヶ月も掛かったのです(笑
となると、どうにかして、バイナリの列をUTF-8として認識させる必要が有ります。
これも・・・色々と挑戦したのですが、結局utf-8を処理するためにUCS2でコードを設定しpack Uかchrで文字列に代入する必要が有ったのです。
面倒です。
まぁ、日本語が完全対応したのは喜ばしい事なのですが、旧プログラマなあたしとしては、面倒な事この上なかったわけです。
jcodeは今後使わない様にした方が良いらしいのですが・・・
今からスタイルを変更するのも面倒です。
さて・・・どうしよう?
|