Python 如何使用HTML实体将Unicode编码为ASCII
我需要用Python中的HTML实体将unicode UTF-8字符串编码为ASCII 要明确的是:Python 如何使用HTML实体将Unicode编码为ASCII,python,unicode,encoding,utf-8,Python,Unicode,Encoding,Utf 8,我需要用Python中的HTML实体将unicode UTF-8字符串编码为ASCII 要明确的是: source = u"Hello…" wanted = "Hello…" 这不是解决方案: as_ascii = source.encode('ascii', 'xmlcharrefreplace') 因为as_ascii将设置为Hello…-ie,使用XML字符引用,而不是HTML字符引用 是否有一个Python模块/函数/实体字典,可以: 使用HTML字符
source = u"Hello…"
wanted = "Hello…"
这不是解决方案:
as_ascii = source.encode('ascii', 'xmlcharrefreplace')
因为as_ascii
将设置为Hello…代码>-ie,使用XML字符引用,而不是HTML字符引用
是否有一个Python模块/函数/实体字典,可以:
使用HTML字符引用将unicode解码为ASCII
将包含XML字符引用的ASCII字符串替换为HTML字符引用(视情况而定)
示例程序(文件解码为实体.py
):
和示例执行:
$ python decode_to_entity.py
Hello…
对于实体字典,htmlentitydefs.codepoint2name
是否有助于方法2htmlentitydefs.codepoint2name[8230]=“hellip”
。是的!谢谢我可以使用htmlentitydefs!我不得不从htmlentitydefs包中提取一些元素,但我想到了这个——数字字符引用在HTML中与在XML中一样有效,并且对于所有没有特定于HTML的实体的字符,您可能都需要它们。是的,我知道它们在呈现时是等效的。我特别想要HTML实体。哇。这对我的unicode字符串有效,但我不明白它为什么有效。我有日文文本,“xmlcharrefreplace”也适用于web显示,但担心来自web的输入不会存储为正确的utf8。如何将web输出文本作为UTF8存储在数据库中的过程反转?因为ord
返回字符的整数值(可以大于255)。看看这个:a=u‘Ś’
这是u'\u015a'
,十六进制的15a
是十进制格式的346(人类可读)(并且ord(a)
将返回346
)。您可以在此处阅读更多内容:
$ python decode_to_entity.py
Hello…