У меня есть список кодов символов Unicode, которые мне нужно преобразовать в символы на python 2.7.
U+0021 U+0022 U+0023 ....... U+0024
Как это сделать?
Это регулярное выражение заменит все U+nnnn последовательности соответствующими символами Юникода:
U+nnnn
import re s = u'''\ U+0021 U+0022 U+0023 ....... U+0024 ''' s = re.sub(ur'U\+([0-9A-F]{4})',lambda m: unichr(int(m.group(1),16)),s) print(s)
Вывод:
! " # ....... $
Объяснение:
unichr
unichr(0x21) == u'!'
int('0021',16)
lambda(m): expression
def func(m): return expression
re.sub
U+hhhh
Код, написанный ниже, возьмет каждую строку Unicode и преобразует в строку.
for I in list: print(I.encode('ascii', 'ignore'))
a = 'U+aaa' a.encode('ascii','ignore') 'aaa'
Это преобразует Unicode в Ascii, что, я думаю, то, что вы хотите.