我有一些json文件,其中有些地方有编码的日语,比如\u672c\u30fb\u96d1\u8a8c\u30fb\u66f8\u7c4d\u60c5\u5831
,我想把它们解码成日语。你知道吗
问题是当我使用这种方法时:
text = '\u672c\u30fb\u96d1\u8a8c\u30fb\u66f8\u7c4d\u60c5\u5831'
print(text)
而且是印刷的
本・雑誌・書籍情報
但当我直接从文件中读取它时,例如,准备好的文件索引.json它的内容是:
\u672c\u30fb\u96d1\u8a8c\u30fb\u66f8\u7c4d\u60c5\u5831
我用的方法是
file = open('index.json','r')
text = file.read()
print(text)
它刚印出来
\u672c\u30fb\u96d1\u8a8c\u30fb\u66f8\u7c4d\u60c5\u5831
有件事我发现有点奇怪,当我试着打印时:
print(file.read())
print(text)
file.read()
不返回任何内容,即使有file.read(1)
。你知道吗
编辑:我发现主要的问题是当您编写text = '\u672c'
时,python会将\u672c
识别为单个字符。但是当你从一个文件中读取时,它会将它识别为一个包含6个字符的字符串。无论如何要转换它?你知道吗
这里有几个问题。你知道吗
假设您的文件包含以下(文字)文本:
您可以在Python中将其表示为
或者
要将文字转义转换为它们所表示的Unicode字符,需要正确解码:
结果
file.read()
和file.read(1)
对您不起作用的原因是文件不会自动倒带。一旦你读入文件,它就在最后,直到你手动倒带它或关闭并重新打开它。你知道吗相关问题 更多 >
编程相关推荐