Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python解码Mac OS文本_Python_Macos - Fatal编程技术网

用Python解码Mac OS文本

用Python解码Mac OS文本,python,macos,Python,Macos,我正在编写一些代码来解析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

我正在编写一些代码来解析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

Python stdlib中似乎至少存在mac-Roman和mac-turnic编码,命名为macroman和macturnic。有关最新Python中编码别名的完整列表,请参阅。


但是,提供了编解码器描述文件,可用于生成解析这些编解码器的模块。python源代码发行版附带了一个脚本,该脚本将转换这些文件:
python-x.x/Tools/unicode/gencodec.py

此外,这些Mac编码可以追溯到经典的MacOS时代,在Mac OS x中基本上已经过时。