Python3, как превратить кодовую точку Юникода в символ Юникода - PullRequest
1 голос
/ 14 мая 2019

я знаю, что этот тип часто спрашивают, но ни один ответ не смог мне помочь с моей проблемой.

У меня есть список ТОЛЬКО кодовых точек Unicode, поэтому в этой форме: 304E 304F ...

Нет U + XXXX, нет версии '\ XXXX'.

Теперь я попытался использовать stringmanipulation для воссоздания таких строк. так что я могу просто напечатать соответствующий unichar. что я пробовал:

x = u'\\u' + listString
x = '\\u' + listString
x = '\u' + listString

первые 2 при печати просто дают мне строку '\ uXXXX', но понятия не имею как заставить его печатать символ, а не эту строку.

последний выдает мне эту ошибку: (Unicode error) Кодек unicodeescape не может декодировать байты в позиции 0-1: усеченный \ uXXXX escape

Возможно, я просто не понимаю, что такое юникод и строковое манипулирование, но я надеюсь, что кто-нибудь может мне помочь.

Заранее спасибо o /

1 Ответ

3 голосов
/ 14 мая 2019

Вы можете использовать chr, чтобы получить символ для кодовой точки Unicode:

>>> chr(0x304E)
'ぎ'

. Вы можете использовать int, чтобы преобразовать шестнадцатеричную строку в целое число:

>>> int('304E', 16)
12366
>>> chr(int('304E', 16))
'ぎ'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...