繁体   English   中英

用Python解码Mac OS文本

[英]Decoding Mac OS text in Python

我正在编写一些代码来解析RTF文档,并且需要处理他们可以使用的各种代码页。 Python附带了所有必要Windows代码页的解码器,但我不确定如何处理Mac代码页:

# 77: "10000", # Mac Roman
# 78: "10001", # Mac Shift Jis
# 79: "10003", # Mac Hangul
# 80: "10008", # Mac GB2312
# 81: "10002", # Mac Big5
# 83: "10005", # Mac Hebrew
# 84: "10004", # Mac Arabic
# 85: "10006", # Mac Greek
# 86: "10081", # Mac Turkish
# 87: "10021", # Mac Thai
# 88: "10029", # Mac East Europe
# 89: "10007", # Mac Russian

Python是否对这些内置支持? 如果没有,是否有一个跨平台的纯Python库来处理它们?

你可以使用python编解码器来识别它们的名字'mac-roman','mac-turkish'等。

>>> 'foo'.decode('mac-turkish')
u'foo'

你必须用他们的名字来引用它们,你在问题中得到的这些数字不会出现在源文件中。 有关更多信息,请查看$pylib/encodings/mac_*.py

似乎至少Mac Roman和Mac土耳其语编码存在于Python stdlib中,名称为macroman和macturkish。 有关最新Python中编码别名的完整列表,请参阅http://svn.python.org/projects/python/trunk/Lib/encodings/aliases.py

没有。

但是, unicode.org提供了编解码器描述文件,您可以使用它们生成将解析这些编解码器的模块。 python源代码分发包含一个将转换这些文件的脚本: Python-xx/Tools/unicode/gencodec.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM