Я не могу использовать предварительно упакованные строковые библиотеки Unicode, такие как ICU, потому что они взорвали размер двоичного файла до безумной степени (это программа 200k, ICU - 16 МБ +!).
Я использую встроенный тип строки wchar_t
для всех уже, но я хочу, чтобы я не делал ничего глупого с точки зрения выполнения итераций в строках или таких вещей.
Существуют ли такие инструменты, как Fuzzers, для безопасности, но для Unicode? То есть, выкидывайте символы вне базовой многоязычной плоскости в свой код и гарантируйте, что все будет правильно обрабатываться как UTF-16?
(О, и, очевидно, кросс-платформенное решение работает, хотя большинство кросс-платформенных вещей должны поддерживать как UTF-8, так и UTF-16)
EDIT. Также обратите внимание на вещи, которые менее очевидны, чем суррогатные пары UTF-16 - такие вещи, как знаки акцента!