У меня есть несколько файлов json, и есть места с закодированным японским языком, таким как \u672c\u30fb\u96d1\u8a8c\u30fb\u66f8\u7c4d\u60c5\u5831
, и я хочу декодировать их на японский.
Проблема в том, когда я использую этот метод:
text = '\u672c\u30fb\u96d1\u8a8c\u30fb\u66f8\u7c4d\u60c5\u5831'
print(text)
И это напечатано
本・雑誌・書籍情報
Но когда я читаю его непосредственно из файла, например, подготовленный файл - index.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 символов. В любом случае, чтобы преобразовать это?