Строки unicode
Строки Unicod позволяют поддерживать символы всех алфавитов, древних и ныне существующих. Дело в том, что обычные строки могут содержать до 256 различных символов, это очень ограничивало алфавит компьютера. С введением unicod в строке может содержаться до 65536(!) различных символов. Python, как язык, поддерживающий всё новое в компьютерном мире, поддерживает юникод. Строки unicod обозначаются символом u перед открывающей кавычкой., например u”РоссияUSA”. В unicod также имеются управляющие символы, но обозначаются они по-другому в формате \0000, где 0000 некий управляющий символ(например \0020 – пробел). Если вы не хотите отображение управляющих символов, поставьте перед открывающей кавычкой символы ur. Все операции со строками обычного формата применимы к строкам unicod. То есть внутри Python юникод и обычный текст во многом схожи, и вы можете использовать и то и другое представление строк(учтите, однако, что текст в 2 раза компактнее unicod, зато юникод способен воспринимать любой алфавит). Поэтому, что вам нужно употреблять, зависит от конкретной задачи (переносимость или компактность).
Все строки unicod имеют метод encode(), используемый для представления символов unicod в качестве управляющих:
>>> u"дць".encode('utf-8')
'\xc3\xa4\xc3\xb6\xc3\xbc'
Utf-8 означает тип кодировки unicod(Utf-8, Utf-16, ASCII).
Функция unicode() обеспечивает доступ ко всем кодерам / декодерам unicod: Utf-8, Utf-16, Latin-1, ASCII(0...127 символов), KOI-8, cp1251, cp866. Кодер / декодер по умолчанию – это ASCII, все вызовы функций str() и print используют кодер по умолчанию.
>>> unicode('\xc3\xa4\xc3\xb6\xc3\xbc',
'utf-8')
u'\xe4\xf6\xfc'