|
unichar() に関する質問です。よろしくお願いします。
エンコードの種類が Shift-JIS のファイルを開いて、下記のマクロを実行したあと、
ファイルを上書き保存すると「文字コード変換できない文字が含まれていたので、?
マークや同義の文字などに変換して保存しました。読み込みし直しますか?」という
メッセージのあるダイアログが出ます(秀丸エディタ 6.50β9, Windows XP)。ところ
が「はい」を選択しても保存前との違いが分かりません。「文字コード変換できない
文字」ということは「あ」以外に何か出力されたということだと思うのですが、どう
なのでしょうか。
insert unichar(unicode("あ"));
また下記のマクロを実行すると「あ(ascii()=33440, code=33440, unicode=12354)」
と「あ(ascii()=33096, code=0, unicode=12354)」が出力されます。unicode の値が
同じということは同じ文字だと思います。これは「unichar() で出力した文字は文字
としては同じでも ascii() や code は異なる値になる」という理解でよろしいので
しょうか。
$Char = "あ";
insertfix $Char;
#unicode = unicode;
call ins;//あ(ascii()=33440, code=33440, unicode=12354)
$Char = unichar(#unicode);
insertfix $Char;
call ins;//あ(ascii()=33096, code=0, unicode=12354)
endmacro;
ins:
$$str =
"(ascii()=" + str(ascii($Char)) +
", code=" + str(code) +
", unicode=" + str(unicode) + ")\n";
right;
insert $$str;
return;
|
|