Программирование на C: как программировать для Unicode?

Обратите внимание, что речь charset-table идет не о "строгом программировании utf-8 в Юникоде" как таковом, а locale о некотором практическом locale опыте.

В моей компании мы utf-8 создали библиотеку-оболочку charset-table для библиотеки IBM ICU. Библиотека-оболочка charset-table имеет интерфейс UTF-8 и преобразуется utf8-decode в UTF-16, когда необходимо c вызвать ICU. В нашем случае unicode мы не особо беспокоились utf-8 о падении производительности. Когда utf-8 производительность была проблемой, мы character-encoding также предоставляли интерфейсы character-encoding UTF-16 (с использованием utf8-decode нашего собственного типа locale данных).

Приложения могут utf-8 оставаться в основном как charset-table есть (с использованием символов), хотя character-encoding в некоторых случаях им необходимо utf8-decode знать об определенных проблемах. Например, вместо utf-8 strncpy() мы используем оболочку, которая charset-table избегает обрезания последовательностей utf-8 UTF-8. В нашем случае этого c достаточно, но можно также charset-table рассмотреть проверки на объединение character-encoding символов. У нас также есть utf-8 обертки для подсчета количества c кодовых точек, количества c графем и т. Д.

При взаимодействии utf8-decode с другими системами нам иногда locale требуется настраивать композицию charset-table персонажей, поэтому вам может locale потребоваться некоторая гибкость unicode (в зависимости от вашего charset-table приложения).

Мы не используем charset-table wchar_t. Использование ICU character-encoding позволяет избежать непредвиденных character-encoding проблем с переносимостью unicode (но, конечно, не других неожиданных charset-table проблем :-).

c

unicode

utf-8

character-encoding

locale

2022-11-16T01:16:41+00:00