使用python-(\ud83d\udc40)将表情符号转换为实际的表情符号👀;
我有一个简单(但非常难)的问题使用python-(\ud83d\udc40)将表情符号转换为实际的表情符号👀;,python,replace,text-files,emoji,Python,Replace,Text Files,Emoji,我有一个简单(但非常难)的问题 我正在寻找一种方法来转换包含这种类型表情符号的文本文件(\ud83d\udc40),并将其替换为包含-real表情符号的文本文件您只需要json.dump中的确保ascii=False选项 如果您首先要创建此文件,只需传递该选项 如果其他人向您提供了此JSON文件,并且您希望将其更改为直接在字符串中使用Unicode字符(与现在的Unicode转义相反),您可以执行以下操作: import json with open('input.txt', 'r') as
我正在寻找一种方法来转换包含这种类型表情符号的文本文件
(\ud83d\udc40)
,并将其替换为包含-real表情符号的文本文件您只需要json.dump
中的确保ascii=False
选项
如果您首先要创建此文件,只需传递该选项
如果其他人向您提供了此JSON文件,并且您希望将其更改为直接在字符串中使用Unicode字符(与现在的Unicode转义相反),您可以执行以下操作:
import json
with open('input.txt', 'r') as infile:
with open('output.txt', 'w') as outfile:
for line in infile:
data = json.loads(line)
json.dump(data, outfile, ensure_ascii=False)
outfile.write('\n')
不是很难,更像是…@NilsWerner的复制品。这个解决方案不会有帮助,已经尝试过了。。。。它看起来很简单,但就是不起作用。。。(您尝试过这里的解决方案了吗?我知道他们正在删除它,但是既然您可以找到它,那么您就可以替换它,而不仅仅是删除它。
infieinsight
文件是否包含文字字符\u
?如果是,在搜索要替换的内容时,您需要有一个包含这些字符的字符串。您可以使用ss intoreplace
不包含文本\u
,它包含unicode转义。您使用的是哪个版本的Python?输入数据看起来像ASCII码,但输出编码是什么?(您没有指定输出编码,因此结果取决于您使用的Python版本和平台。如果要编写Unicode字符,则需要Unicode兼容编码。)json
模块会自动将代理代码点转换为单个字符吗?哦,我明白了……它不仅仅是解码转义,它实际上是在进行规范化。我想知道这是这个实现的一个要求,还是OP方法的副作用。@DanielPryden仍然有同样的问题-Unicodeincode错误:“ascii”编解码器无法对位置1中的字符u'\u2600'进行编码:序号不在范围(128)内,em I做错了什么?@DanielPryden btw,我提供了一个用于测试的示例数据。