Я хотел бы вывести строку на экран независимо от ее кодировки (UTF-8,16,32).Эта строка представлена в массиве char, поэтому мне нужно игнорировать нулевые байты и продолжить печать в stdout;это исключает вопрос о семье и друзьях printf.
char text[] = { 0x00, 0x55, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65 };
fwrite( text, sizeof(char), sizeof(text), stdout );
С этой целью я выбрал вышеуказанное решение, чтобы дать мне возможность печатать все форматы кодировки UTF.Я понимаю, что некоторые терминалы не будут правильно отображать символы, но это не моя проблема, так как это настраиваемый параметр вне приложения.
В моем приложении есть настройки для загрузки каталога сообщений (en_EN.UTF-8,и т. д.) однако я хочу избежать необходимости выполнять преобразование строк в коде, основанном на выбранной в данный момент локали.
Могу ли я получить отзыв об этом подходе, прежде чем я позволю ему начать работу?