1.まず、内部コードはシフトJISなため、他国語なUnicodeファイルとかJISX0212とか、
シフトJISで表せない文字は全く扱えません。
2.EBCDIC←→ShiftJIS変換では、ShiftJIS側のカタカナは半角カナであることとします。
3.邪道なんでしょうが(^^;、JIS(ISO-2022-JP)を半角カナ入りで保存できます。
1B 28 49 で切り替える方式です。読み込みは 0e 0f を使ってるものでも可です。
4.EUCとJISの内部ルーチンをほぼ統一しているため、EUCで読んでいても勝手に
エスケープシーケンスを解釈してモード切り替えしたりしてしまいます。仕様です。
5.ISO-10646 は、Unicode値を単純に31bitにしたものとしてしか扱ってません(^^;
↑結構まずい??
6.自動判定傾向と対策。
・まず、UCS2(LE,BE)はファイル頭にBOM(Byte Order Mark)があれば確実、なければ判定不可能です。
・UCS4(LE,BE)はBOMつきもしくは2byteおきに0000が出てくれば判定できます。
・UTF8もBOMがあれば確実。
・JISは、漢字やひらがななどの全角文字が入っていれば確実に判定します。
・EBCDICは自動判定されません。必ず改めて開いて下さい。
・ShiftJISを正しく判定させるには、ひらがな、カタカナが混じっていればほぼOK
ちなみに、半角で"デスクトップ"と書いてあればこれも確実です(笑)。
(↑巨大iniファイルをEUCと誤認してしまうことがよくあるのでそのいい加減な対策)
・UTF7のファイルも結構確実に判定されます。むしろ、UTF7でないのをUTF7と誤認すること
の方が多いので、なんか変、というときはまずこれを疑って下さい。
・EUCやBOM無しUTF8を正しく判定させるには現在のUranusの処理に対しては決定的手段がありません。
改行コードを LF にしておく、というのは結構重要です。あとは長ければ長いほどよし。
なお、最終的によくわからなかったときは、基本的にShiftJISにするという方針です。