Python:Unicode 到 html 个实体
Python: Unicode to html entities
我在将 unicode 转换为 html 实体时遇到问题。
这是我当前的代码:
>> name = u'\xc3\xa1\xc3\xa1\xc3\xa1\xc3\xa1'
>> entities = name.encode('ascii', 'xmlcharrefreplace')
>> print str(entities)
áááá
每个 \xc3\xa1
= á
(多字节字符),但是当我将其转换为实体时,我为单个字符得到 2 个实体。
\xc3\xa1
在 UTF-8 中是 á
,在 Unicode 中不是。
(áááá
在 Unicode 中是 u'\xe1\xe1\xe1\xe1'
)
因此您需要使用字符串文字来定义它,而不是 unicode 文字(''
与 u''
)。获得 UTF-8 后,您需要将其解码为 Unicode,或者用 XML 个实体将其再次编码为 ASCII:
>>> name = '\xc3\xa1\xc3\xa1\xc3\xa1\xc3\xa1'.decode('utf-8')
>>> name.encode('ascii', 'xmlcharrefreplace')
'áááá'
我在将 unicode 转换为 html 实体时遇到问题。
这是我当前的代码:
>> name = u'\xc3\xa1\xc3\xa1\xc3\xa1\xc3\xa1'
>> entities = name.encode('ascii', 'xmlcharrefreplace')
>> print str(entities)
áááá
每个 \xc3\xa1
= á
(多字节字符),但是当我将其转换为实体时,我为单个字符得到 2 个实体。
\xc3\xa1
在 UTF-8 中是 á
,在 Unicode 中不是。
(áááá
在 Unicode 中是 u'\xe1\xe1\xe1\xe1'
)
因此您需要使用字符串文字来定义它,而不是 unicode 文字(''
与 u''
)。获得 UTF-8 后,您需要将其解码为 Unicode,或者用 XML 个实体将其再次编码为 ASCII:
>>> name = '\xc3\xa1\xc3\xa1\xc3\xa1\xc3\xa1'.decode('utf-8')
>>> name.encode('ascii', 'xmlcharrefreplace')
'áááá'