Насколько важно, чтобы библиотеки рассматривали utf16xx и utf32xx как равные с utf8? - PullRequest
2 голосов
/ 16 марта 2011

происходит ли какой-либо значимый обмен в форматах, отличных от ascii / utf8?есть ли поля, где интенсивно используются utf16xx и utf32xx?Я спрашиваю как автор нескольких библиотек, которые работают с текстом Unicode, и бремя поддержки всех пяти основных вариантов довольно велико по сравнению с предполагаемой полезностью.

Ответы [ 3 ]

2 голосов
/ 16 марта 2011

Windows и Java оба рассматривают Unicode как UTF-16 внутри, а Python использует UTF-16 или UTF-32 в зависимости от платформы.Поэтому для них важно не только UTF-8.Это как раз те случаи, с которыми я больше всего знаком, я уверен, что есть другие.

Так что, на мой взгляд, если у вас есть библиотека Unicode, вы должны поддерживать UTF-16 и UTF-32.(Я не могу поверить, что UTF-32 слишком сложен, так как здесь нет специальной обработки, кроме порядка байтов. Хотя я не автор библиотеки Unicode :))

1 голос
/ 16 марта 2011

Одним из важных моментов является XML: он может входить практически во все мыслимые кодировки, но UTF-8 является наиболее распространенным.

Однако , спецификация XML говорит это :

Все процессоры XML должны принимать кодировки Unicode UTF-8 и UTF-16

Таким образом, если ваше приложение / библиотека каким-либо образом обрабатывает XML, оно должно поддерживать UTF-16 как минимум в этой части. Обратите внимание, что здесь будет достаточно парсера, который преобразует данные в UTF-8 для обработки.

0 голосов
/ 16 марта 2011

Когда дело доходит до обмена, я думаю, вы правы, что UTF-8 распространен.Некоторые случаи использования UTF-16 - это различные двоичные протоколы, такие как DCOM, Java RMI и (может быть ???) CORBA.

Что касается UTF-32, я никогда не слышал о случае, когда он используется длявзаимообмен.

...