Я все еще пытаюсь решить, должен ли мой (домашний) проект использовать строки UTF-8 (реализованы в терминах std :: string с дополнительными функциями, специфичными для UTF-8, когда это необходимо) или 16-битную строку (реализованную как std: : wstring). Проект - это язык программирования и среда (например, VB, это комбинация обоих).C++ строки: UTF-8 или 16-битное кодирование?
Есть несколько пожелания/ограничения:
- Было бы здорово, если бы он мог работать на ограниченных аппаратных средствах, таких как компьютеры с ограниченным объемом памяти.
- Я хочу, чтобы код запускался в Windows, Mac и (если ресурсы разрешили) Linux.
- Я буду использовать wxWidgets как мой слой с графическим интерфейсом, но мне нужен код, который взаимодействует с этим набором инструментов, ограниченным в углу базы кода (у меня будут исполняемые файлы без GUI).
- Я хотел бы избежать работы с двумя различными типами строк при работе с видимым пользователем текстом и данными приложения.
В настоящее время я работаю с std :: string, с целью использования функций манипуляции UTF-8 только при необходимости. Это требует меньше памяти, и, похоже, направление, по которому многие приложения идут в любом случае.
Если вы порекомендовали 16-битную кодировку, которая: UTF-16? UCS-2? Еще один?
Micro ATX не означает ограниченную память. Мой компьютер дома находится на (Micro-ATX) ASUS M2A-VM, и он отлично работает с Crysis. – notJim 2010-08-23 23:09:55
Я отредактировал вопрос, чтобы удалить ошибку. – 2011-08-12 12:49:56