|
> 懐かしいなぁ、もう1年もたってるんだな。
と言うことはその当事者ですか。置いといて ...
> 前述の文章などを読まれてどうして正規化が必要だと思われましたか?
ほんとに「正規化」って呼ぶのか疑問です。MS932 に同じ漢字に複数のコードが
あるのは知っていますが、あまり気にしてないので。単なるコード変換ですよね。
基本コードマップがどちらかで、変換が逆になりますから。
> 正規化はエディタでは無意味であったり有害であるだけです。
それを望む人と望まない人がいるだけでしょう。
「秀丸」は、内部処理を Shift-JIS (MS932) で設計されたと思います。内部の
コードはすべて、それで処理されている。外部からファイルを読み込むときに、
そのファイルのコードを内部コードに変換する、そのときの情報が charset と
して、マクロで参照できる。ファイルに出力するときには charset にしたがっ
てコード変換される。CR/LF 内部では取り除かれて、行を独自の構造体に置き換
えて、(複数の) インデックスを張って処理をしている。想像です。でも当たり。
問題は、このコード変換が自動で行われている 1 : 1 の変換は問題無いのです
が、1 : n とかになると、使用する人は困るのでしょう。それが今回の Unicode
ですよね。
MS932 ==> Unicode は 1 : 1 で、MS932 <== Unicode は 1 : n ですか。
newfile;
insertfix "\x87\x84\xfa\x5a\n"; // TEL
right; showcode;
saveas "C:\A1.txt", unicode;
// saveas "C:\A1.txt", sjis; // コード変換は行われない ...
loadfile "C:\A1.txt"; gofiletop; right; showcode;
とすると、TEL は両方とも 0x8784 になる。仕様なんでしょうね。
異なる環境で同一のコード体系を保ちたいのなら、基本となるコードを設定して、
Shift-JIS とか、すべてのデータを、「基本コードのマップ」と照合する必要が
ありますよね。Unicode 以外は範囲チェックと例外の検出ですが、Unicode だと、
「基本コードのマップ」と「 Unicode のマップ」を 1 : 1 にする必要がある。
みたいです。うちの会社 (零細企業ですが) にマルチプラットフォームで業務を
開発するツールがあります。Shift-JIS と Unicode の対応コードの定義があり
ます。そうでないと業務では使用できないのかも ...
あちきは汎用機の仕事なのですが、Windows / DOS/V (Shift-JIS) で元データを
作成して IBM 系に自動変換します。それをさらに Fujitsu 系に自動変換します。
元データは第二水準までとして、例外文字 IBM 独特の " ' の全角の処理が必要
です。昔は OASYS ==> .txt ==> DOS/V もあったのでつかれました。
いずれにせよ、仕事、であれば、それなりの工夫は必要かも。
「とーふ、トーフー」とはパソコン通信が始まって、異なるプラットフォームか
ら送られてくる投稿で、自分とこの通信ソフトで表示できない□■のことです。
|
|