首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将原始unicode转换为文本

将原始unicode转换为文本
EN

Stack Overflow用户
提问于 2021-03-17 16:53:24
回答 2查看 130关注 0票数 2

我正在用python3.8编写代码,以便使用selenium从html源代码中获取一些文本。

我从page_source得到了类似的内容( html_source太长了,所以我只显示了print()输出的焦点部分):

代码语言:javascript
运行
复制
html_source = browser.page_source
print(html_source)
>>> \u514d\u8cbb\u8cc7\u6e90\u7db2\u8def\u793e\u7fa4

但我的预期产出是:

代码语言:javascript
运行
复制
print(html_source)
>>> 免費資源網路社群

我试过这样做:

代码语言:javascript
运行
复制
html_source.encode(‘utf-8’)
# but the result is same
print(html_source)
>>> \u514d\u8cbb\u8cc7\u6e90\u7db2\u8def\u793e\u7fa4

这似乎是因为html_source中的Unicode是原始字符串。那么,如何将原始Unicode转换为预期的输出呢?

我对编码很陌生,而且对文本的编码解码也很混乱。我将感谢您能提供的任何帮助。

补编:

代码语言:javascript
运行
复制
# I discover that r’’ string will give a similar result as above
html_source = r”\u514d\u8cbb\u8cc7\u6e90\u7db2\u8def\u793e\u7fa4”
print(html_source)
>>> \u514d\u8cbb\u8cc7\u6e90\u7db2\u8def\u793e\u7fa4

# while if the string is normal
html_source = “\u514d\u8cbb\u8cc7\u6e90\u7db2\u8def\u793e\u7fa4”
print(html_source)
>>> 免費資源網絡社群
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-17 18:12:48

Python 3:

代码语言:javascript
运行
复制
s = r'\u514d\u8cbb\u8cc7\u6e90\u7db2\u8def\u793e\u7fa4'
print(s.encode('utf-8').decode('unicode-escape'))

Python 2

代码语言:javascript
运行
复制
s = r'\u514d\u8cbb\u8cc7\u6e90\u7db2\u8def\u793e\u7fa4'
print (s.decode('unicode-escape').encode('utf-8'))
票数 1
EN

Stack Overflow用户

发布于 2021-03-17 17:01:22

试着使用

代码语言:javascript
运行
复制
utf8string = unicodestring.encode("utf-8")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66677687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档