gpt4 book ai didi

字符串中的 Python 特殊字符

转载 作者:太空宇宙 更新时间:2023-11-04 01:39:39 25 4
gpt4 key购买 nike

我正在尝试在网页中显示电子邮件。该程序是用 Python 编写的。不幸的是,我有一些字符编码问题。我在文本中有引号和双引号。

原始邮件:

“All is good”
‘it is getting better’

使用我从 ISP 获得的字符集“windows-1252”:

=93All is good=94
=91it is getting better=92

使用从 ISP 获得的字符集“utf-8”:

=E2=80=9CAll is good=E2=80=9D
=E2=80=98it is getting better=E2=80=99

我用相应的十六进制字符替换了 =..。文本看起来像:

character set 'windows-1252'
ôAll is goodö
æit is getting betterÆ


character set 'utf-8'
ΓÇ£All is goodΓÇ¥
ΓÇÿit is getting betterΓÇÖ

对 unicode 函数的后续调用失败并显示

UnicodeEncodeError: 'charmap' codec can't encode character u'\u201d' in position 6: 
character maps to <undefined>

或类似的。

调用看起来像 unicode( message, 'utf-8', 'replace' )。知道我做错了什么吗?

最佳答案

为什么要用任何东西替换任何东西?

>>> m = email.message_from_string('''Content-Type: text/plain; utf-8\nContent-Transfer-Encoding: quoted-printable\n\n=E2=80=9CAll is good=E2=80=9D\n=E2=80=98it is getting better=E2=80=99''')
>>> m.get_payload(decode=True).decode(m['Content-Type'].split('; ')[1])u'\u201cAll is good\u201d\n\u2018it is getting better\u2019'

关于字符串中的 Python 特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6405834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com