python - 如何在 Python 中转换具有特殊字符的字符串变量以正确打印

标签 python beautifulsoup escaping special-characters encode

抱歉,如果标题令人困惑,但我确实研究了两个小时,不知道我应该如何提出这个问题,所以任何人都可以随意编辑这篇文章。

我有一个使用网络抓取创建的字符串变量,它使用特殊字符,看起来像“\ud83d\ude00\u0107\u00e7\n hello”,打印时没有引号。问题是我希望它打印实际的特殊字符,但我不确定应该使用哪种编码方法。如果我复制并粘贴确切的字符串并打印它,它工作正常,但作为我创建的变量,它不显示特殊字符,只显示文本。

我已经尝试使用 json.load、unicode-escape、UTF-8 和其他一些方法将它转换为字符串,但老实说我不确定应该使用哪种方法

page = requests.get('https://www.example.com')
soup = str(BeautifulSoup(page.text, 'html.parser')).splitlines()

for line in soup:
    if 'hello' in line:
        print(line) #produces literal text of \ud83d\ude00\u0107\u00e7 \n hello

print('\ud83d\ude00\u0107\u00e7 \n hello') #produces wanted result

我希望结果看起来像这样:

😀ćç

你好

最佳答案

经过一个小时的反复试验,我发现答案是:

line.encode('utf-8').decode('unicode-escape')

关于python - 如何在 Python 中转换具有特殊字符的字符串变量以正确打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56629083/

相关文章:

python - Matplotlib:如何在不循环的情况下绘制彩色点?

javascript - 在 JavaScript 中取消转义 HTML 实体?

mysql - mysql 中任何用于清理字符串变量的内置函数

mysql:如何转义perl字符串中的括号

Python 提取唯一的 CSV 行

python - 如何覆盖日志记录模块的方法

python matplotlib时钟信号类型图帮助:

Python 网页抓取 : how to skip url error

python - 是否可以使用 Python/BeautifulSoup 从一大块 HTML 中去除除 anchor /链接之外的所有标签?

python - 如何使用 python 将表单发布到 aspx 网站