代码之家  ›  专栏  ›  技术社区  ›  theozh

如何在Win上正确打开MacOs文本文件?

  •  0
  • theozh  · 技术社区  · 7 年前

    如何将Mac文本文件转换为Win文本文件,反之亦然?

    到目前为止,我还不知道MacOS和Win文本文件是不同的。 我不是在说换行符:CR代表MacOS,LF代表Unix,CR/LF代表win。

    显然,在特殊字符方面,如Umlauts等,存在更多差异。 我在Mac上创建了一个文本文件, 如果我用记事本++打开这个Underwin,它会告诉我Macintosh ANSI,

    成为

    ·成为

    变成。。。

    使用记事本++,我尝试了各种编码,Windows 1252-1或ISO-8859,UTF-8。。。 据我所知,似乎有一种MacOS-Roman编码。。。哪个记事本++,显然不懂。 当我最终可能以某种方式正确打开和编辑Mac文本文件时,我想最好是将它们保存为UTF-8,以便在操作系统之间进行进一步的交换,希望不会出现问题。

    我的问题是:如何在Win中正确读取Mac(编码)文本文件?

    (注意:将文件发送给使用Mac的人,并要求他将其保存为UTF-8,我认为这不是一个切实可行的解决方案)。

    1 回复  |  直到 7 年前
        1
  •  0
  •   theozh    7 年前

    @我希望在一些程序中有一个简单的复选框或代码列表。但到目前为止我找不到任何。。。 然而,似乎有一个程序化的解决方案。。。

    # MacOSRoman2UTF8.py
    import codecs, sys
    
    # enter filename without .txt
    fname = sys.argv[1]
    
    with codecs.open(fname+'.txt', 'r', encoding='macroman') as file_in:
        file_content = file_in.read()
    
    with codecs.open(fname+'_utf8.txt', 'w', encoding='utf-8') as file_out:
        file_out.write(file_content)