表情符号转换器,使用(\ud83d\udc40)到实际的表情符号符号👀



我有一个简单(但极其困难)的问题。

我正在寻找一种方法来转换包含这种类型的表情符号代码(ud83dudc40)的文本文件,并将其替换为包含实际表情符号符号的文本文件👀

例如

with open(OUTPUT, "r+") as infileInsight:
insightData = infileInsight.read()
.replace('ud83dudc40','👀')
......
with open(OUTPUT, "w+") as outfileInsight:
outfileInsight.write(insightData)

关于,它是重复的:如果我这样做:

with open(OUTPUT, "r+") as infileInsight:
insightData = infileInsight.read()
.replace('ud83dudc40','👀')
......
with open(OUTPUT, "w+") as outfileInsight:
outfileInsight.write(insightData.decode('unicode-escape'))

我有一个错误:UnicodeEncodeError:"ascii"编解码器无法对位置30中的字符u'\u2600'进行编码:序号不在(128)范围内

您只需要json.dump中的ensure_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')

最新更新