我有一个脚本,MM.pl
它是“主力”和一个简单的“补丁文件”,它可以从中读取。在这种情况下,补丁文件以 .ini 文件为目标进行搜索和替换。很简单。\0
我花了 5 天时间才意识到 ini在每个字母之间是用 null ( ) 字符编码的。从那时起,我尝试了所有可以在代码片段、use::
函数和正则表达式中找到的选项。我发现它的唯一原因是我曾经use Data::Printer;
转储几个值。在 Notepad++ 中,ini 似乎被编码为 USC-2 LE。重要的是MM.pl
处理任务而不是要求用户“修复”问题。
更新:这可能会提供线索 \xFF\xFE 是 ini 文件中的前 2 个字符。它们在处理后出现。交换实际上并没有像它应该的那样改变任何其他东西,而是“揭示”了 2 个隐藏的字符。