我正在开发一个涉及电子邮件标头的项目,并在尝试解码使用双向字符集(如“iso-8859-8-i”和“iso-8859-8-e”)编码的标头内容时陷入困境。 RFC 1556 (https://www.rfc-editor.org/rfc/rfc1556.html) 定义了这些编码。
使用.decode Python函数时,遇到这个异常:
LookupError: unknown encoding: iso-8859-8-i
任何有关处理 -i 和 -e 后缀的帮助或建议都会很棒!谢谢!
我认为你做不到。 Python 缺乏对所有 ECMA 转义字符、移位等的支持,例如更改编码,或每个字符使用更多字节。
对于
-i
:只需使用普通解码器(iso-8859-8),并希望显示引擎能够做正确的事情(因此使用Unicode算法)。
对于
-e
:可能相同,您可以将显式方向性字节替换为 Unicode 代码点(如果您的显示引擎处理它们,否则您必须使用 markdown 或其他方法将显式方向性发送到显示引擎) .
PS:也许你可以使用现有电子邮件程序的源代码来看看它是如何完成的(实际上,不是解释标准)。