Что такое строка в Юникоде?
Какая разница между регулярной строкой и строкой Unicode?
Что такое utf-8?
Я пытаюсь изучить Python прямо сейчас, и я продолжаю слышать это модное слово. Что делает код ниже?
i18n Строки (Unicode)
> ustring = u'A unicode \u018e string \xf1'
> ustring
u'A unicode \u018e string \xf1'
## (ustring from above contains a unicode string)
> s = ustring.encode('utf-8')
> s
'A unicode \xc6\x8e string \xc3\xb1' ## bytes of utf-8 encoding
> t = unicode(s, 'utf-8') ## Convert bytes back to a unicode string
> t == ustring ## It the same as the original, yay!
True
Файлы Unicode
import codecs
f = codecs.open('foo.txt', 'rU', 'utf-8')
for line in f:
# here line is a *unicode* string