我有一個腳本,MM.pl
,它是「主力」,它是一個簡單的「補丁文件」,它讀取。在這種情況下,修補程序文件將針對.ini文件進行搜索和替換。夠簡單。花了我5天才知道ini在每個字母之間用空字符(\0
)編碼。從那以後,我嘗試了所有可以在代碼片段,use::
函數和正則表達式中找到的選項。 我發現它的唯一原因是我使用use Data::Printer;
來轉儲多個值。在Notepad ++中,ini似乎被編碼爲USC-2 LE。 MM.pl
處理任務很重要,而不是要求用戶「解決」問題。刪除或完全填充空字符
更新:這可能提供線索\ xFF \ xFE是ini文件中的前2個字符。它們在處理後出現。交換實際上並沒有改變任何其他方式,但「揭示」了2個隱藏的角色。
它可能是UTF-16(樂),而不是UCS-2(樂)。由於UTF-16是UCS-2的超集,因此即使使用UCS-2進行解碼也無妨。 – ikegami