在 Python 中解码双向字节(例如“iso-8859-8-i”和“iso-8859-8-e”)

问题描述 投票:0回答:1

我正在开发一个涉及电子邮件标头的项目,并在尝试解码使用双向字符集(如“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 encoding character-encoding
1个回答
0
投票

我认为你做不到。 Python 缺乏对所有 ECMA 转义字符、移位等的支持,例如更改编码,或每个字符使用更多字节。

对于

-i
:只需使用普通解码器(iso-8859-8),并希望显示引擎能够做正确的事情(因此使用Unicode算法)。

对于

-e
:可能相同,您可以将显式方向性字节替换为 Unicode 代码点(如果您的显示引擎处理它们,否则您必须使用 markdown 或其他方法将显式方向性发送到显示引擎) .

PS:也许你可以使用现有电子邮件程序的源代码来看看它是如何完成的(实际上,不是解释标准)。

© www.soinside.com 2019 - 2024. All rights reserved.