http://www.python.org/dev/peps/pep-0100/ а>
В PEP 100 указано, что внутренний формат Python Unicode содержит кодировку UTF-16, но адресует значения как UCS-2 (или UCS-4 при компиляции с флагом --enable-unicode=ucs4
).
Почему не был выбран UTF-16 (формат переменной длины), а не UCS-2 (фиксированная длина)?
Хотя эти две кодировки в основном одинаковы, UTF-16 было уже 4 года, когда был опубликован PEP-100 (март 2000 г.). Был ли Python Unicode предназначен для решения проблем обратной совместимости?
Мне действительно просто любопытно, почему внутренний формат Python был реализован с использованием этого (казалось бы) гибридного подхода для внутреннего хранения закодированных данных?
Лучший способ задать мой вопрос может быть следующим: есть ли у кого-нибудь цитата или ссылка с цитатой из официального документа, в котором конкретно указано, почему PEP 100 решил рассматривать UTF-16 как UCS-2 вместо использования UTF-16?
next_byte_pos = current_byte_pos + length_table[bytestring[current_byte_pos]]
- person John Machin   schedule 06.11.2011