繁体   English   中英

使用 Python 从 XML 文件中读取表情符号

[英]Reading emojis from an XML file using Python

我想读从表情符号, 这个XML文件。 手动复制它们是有效的,它们可以打印并在浏览器中正确显示。

import requests
import xml.etree.ElementTree as ET

root = ET.fromstring(requests.get('http://www.unicode.org/repos/cldr/trunk/common/annotations/en.xml').text)

print(root[1][21].attrib['cp'])

这应该是为了“笑眯眯的脸”😄
bytes(😄, 'utf-8') 返回:b'\\xf0\\x9f\\x98\\x84'。 但是使用上面的代码获取会产生 'ð\\x9f\\x98\\x84'。
在 XML 解析器中应该做些什么?

Response.text将解码内容(参见http://docs.python-requests.org/en/master/user/quickstart/#response-content )。 ElementTree再次解码已解码的字节(基于<?xml version="1.0" encoding="UTF-8" ?> )。

尝试Response.content将未受影响的响应传递给ElementTree

import requests
import xml.etree.ElementTree as ET

root = ET.fromstring(requests.get('http://www.unicode.org/repos/cldr/trunk/common/annotations/en.xml').content)

print(root[1][21].attrib['cp'])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM