如果给定一组用代码页"xzc"编码的文本"abcdefg-foo",python中是否可以用代码页解码这些字符?
更具体地说,我们有一个已知的AFP代码页T1V10500。我们提取的字体是从引用此代码页的AFP中提取的。我们可以提取引用并构建代码页的路径。
codepage="/path/to/codepage/T1V10500"
ascii_encoded_extracted_afp_text=extract_afp_text().decode(codepage).encode("ascii")
这是对我希望实现的目标的过于简单化,但我希望了解这个概念是否在python中具体可用。
您应该尝试使用ICU
似乎有python绑定(http://pypi.python.org/pypi/PyICU/0.8.1)
如果AFP文件中使用的代码页是通用的(而不是自定义的),则可以使用ICU轻松地构建一个转换器,从代码页指定的编码(T1v10500应该是CP500,即IBM EBCDIC International)到ascii或您需要的任何编码。ICU是一个很棒的库,用于大多数IBMAFP文件工具。
如果您觉得ICU太麻烦,并且不需要处理其他代码页,您可以构建一个从CP500到ASCII 的简单转换表