Форум сайта python.su
0
Привет всем ! Не могу понять как мне нужно преобразовать строку чтобы она валидно вставилась в json файл. На данный момент строка не ввиде текста а как utf-8 символы
Я пробовал так:
bytes('Появись негодяй!', "utf-8").decode("unicode_escape")
'Появись негодяй!'.encode("utf-8","ignore").decode("unicode_escape")
parsedb.insert({'man': 'Появись негодяй!'})
# coding: utf-8 from tinydb import TinyDB, Query from time import strftime import datetime date = round(datetime.datetime.now().timestamp()) print(str('Появись негодяй!')) parsedb = TinyDB('news_s.json') parsedb.insert({'man': 'Появись негодяй!'.encode("utf-8","ignore").decode("unicode_escape")})
Прикреплённый файлы:
pyterror.PNG (2,3 KБ)
Офлайн
253
zmeykin????????????А что такое текст???????????
На данный момент строка не ввиде текста а как utf-8 символы
Офлайн
0
doza_andГлавный вопрос у меня как преобразовать utf-8 в печатные символы а то у меня все в юникодовских символах (посмотрите во вложение в 1 посте) и причем тут json стандарт? я не про него спрашиваю.
Офлайн
253
zmeykinУ вас на картинке как раз не юникодовские символы, а самое что ни на есть ascii символы.
а то у меня все в юникодовских символах
zmeykinВопрос непонятен. Вы на бумаге хотите печатать или в консоли чтобы появилось?
преобразовать utf-8 в печатные символы
>>> print("\u041f\u043e\u044f\u0432\u0438\u0441\u044c \u043d\u0435\u0433\u043e\u0434\u044f\u0439!") Появись негодяй!
Отредактировано doza_and (Май 5, 2019 21:38:13)
Офлайн
857
zmeykinЭто не utf-8, это Юникод. Если бы там было utf-8, то кириллические символы занимали бы по два байта.
Но всеравно у меня появляеться строка в utf-8 символах. Пример во вложении.
>>> '\u6211' '我' >>> '我' '我' >>> >>> '\u042f' 'Я' >>> 'Я' 'Я' >>>
>>> '\u042f' 'Я' >>> 'Я' 'Я' >>> 'Я'.encode('utf-8') b'\xd0\xaf' >>>
>>> '\u0040' '@' >>> '@'.encode('utf-8') b'@' >>> hex(_[0]) '0x40' >>>
Офлайн