Во время изучения кодировки символов в C и C++ я натолкнулся на два общих способа кодирования: многобайтовые символы и широкие символы. Чтобы укрепить мое понимание этих систем (преимущества и недостатки), я хотел бы привести несколько примеров. Выполнение примеров с широкими символами не является проблемой из-за встроенной поддержки с типом wchar_t. Но когда я хотел создать строку, содержащую так называемые многобайтовые символы, я столкнулся с проблемой.Как создать многобайтовые символы в C
Как я могу создать многобайтовую строку символов, которая использует кодировку, которая работает с массивом символов (с использованием Visual C++)? Такой тип кодирования действительно существует: http://www.gnu.org/software/libc/manual/html_node/Shift-State.html. Но я читал только об этом и никогда не видел реального примера. Или вам нужно создать свою собственную кодировку для такого рода строк?
В qt есть функция tr, которая обрабатывает различия в компиляторах с многобайтовыми строками. Все, что вам нужно сделать, это закодировать исходный файл в utf-8 и вызвать tr со строковыми литералами. –
Вы имеете в виду sth. например '' \ xc3 \ x84 "'? (это немецкий код «Ä» UTF-8) –
@DavidFeurle Я не думаю, что это правильно, 'tr()' есть для i18n (переводы). – Angew