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 был реализован с использованием этого (на первый взгляд) гибридного подхода для внутреннего хранения закодированных данных?
AЛучшим способом задать мой вопрос может быть: есть ли у кого-нибудь цитата или ссылка с цитатой из официального документа, в котором конкретно указано, почему PEP 100 решил рассматривать UTF-16 как UCS-2 вместо использования UTF-16?