INIファイルに制御コード入り文字列No.11116
K'zawa さん 23/02/07 21:22
 
こんにちは、K'zawaです。

マクロで、INIファイルに"\x01"から始まる文字列(予約されたレイヤー名など)を
書き込み、getinistr関数で取得すると、"\x01"が消えてしまいます。
これは、INIファイルに制御コードはNGということでしょうか?


$ini = currentmacrodirectory + @"\Test.ini";
$s = "\x01ABC";
writeinistr $ini, "A", "B", $s;
$s2 = getinistr( $ini, "A", "B" );
newfile;
insert sprintf( "%s\n%s\n", $s, $s2 );

[ ]
RE:11116 INIファイルに制御コード入り文No.11117
秀丸担当 さん 23/02/08 09:07
 
ご指摘ありがとうございます。
試してみたところ、確かにそうなるようでした。
WindowsのAPIの時点でそうなるようで、Windowsとしてそういう仕様になっていると
思われます。
encodeuri/decodeuriとかで変換して出し入れすると、いろいろ気にせずできるよう
になると思います。

[ ]
RE:11117 INIファイルに制御コード入り文No.11118
K'zawa さん 23/02/08 09:43
 
秀丸担当さん、こんにちは。
K'zawaです。

>WindowsのAPIの時点でそうなるようで、Windowsとしてそういう仕様になっていると
>思われます。
>encodeuri/decodeuriとかで変換して出し入れすると、いろいろ気にせずできるよう
>になると思います。

わかりました。
ありがとうございます。

[ ]