如何编辑半二进制半文本文件(例如,.ai)

时间:2018-08-21 14:55:51

标签: binaryfiles adobe-illustrator

我的Adobe Illustrator文件损坏。创建文件的人从不再存在的远程驱动器中嵌入了一些图像,这使Illustrator崩溃。我认为解决方法应该很简单。 .ai文件的一部分是基于文本的XML,其中包含远程URL:

           <rdf:li rdf:parseType="Resource">
              <stMfs:linkForm>EmbedByReference</stMfs:linkForm>
              <stMfs:reference rdf:parseType="Resource">
                 <stRef:filePath>\\123.45.67.89\path\to\my\file\niceimage.jpg</stRef:filePath>
                 <stRef:documentID>0</stRef:documentID>
                 <stRef:instanceID>0</stRef:instanceID>
              </stMfs:reference>
           </rdf:li>

我所需要做的就是编写一个简短的脚本,该脚本将所有远程URL替换为本地驱动器上图像的路径。问题在于文件的其他部分是二进制的。当我尝试使用文本阅读器或Python打开文件时,它抱怨该文件不兼容UTF8,如果保存则将损坏。有没有办法只编辑这种半文本,半二进制文件的文本部分,而保持二进制部分不变?使用python,bash,sed或您最喜欢的任何方法的解决方案将不胜感激。

0 个答案:

没有答案