16. Unicode#

Программы, которые мы пишем, не изолированы в себе. Они скачивают данные из Интернета, читают и записывают данные на диск, передают данные через сеть.

Поэтому очень важно понимать разницу между тем, как компьютер хранит и передает данные, и как эти данные воспринимает человек. Мы воспринимаем текст, а компьютер - байты.

В Python 3, соответственно, есть две концепции:

  • текст - неизменяемая последовательность Unicode-символов. Для хранения этих символов используется тип строка (str)

  • данные - неизменяемая последовательность байтов. Для хранения используется тип bytes

Примечание

Более корректно будет сказать, что текст - это неизменяемая последовательность кодов (codepoints) Unicode.