Я наткнулся на этот фрагмент в учебнике Django:
Модели Django имеют метод str() по умолчанию, который вызывает unicode() и преобразует результат в UTF-8. Это означает, что unicode (p) вернет строку Unicode, а str (p) вернет нормальную строку с символами, кодированными как UTF-8.
Теперь я смущен, потому что afaik Unicode не является каким-то конкретным представлением, так что же такое "строка Unicode" в Python? Означает ли это UCS-2? Googling поднял этот "учебник по юникоду Python" , который смело утверждает
Unicode - это двухбайтовая кодировка, которая охватывает все общедоступные системы записи.
который явно ошибочен или не так ли? Я неоднократно путался по вопросам набора символов и кодирования, но здесь я совершенно уверен, что документация, которую я читаю, запутана. Кто-нибудь знает, что происходит в Python, когда он дает мне строку "Unicode"?