printf UTF8 символов с printf из шестнадцатеричных чисел - PullRequest
3 голосов
/ 22 декабря 2010

Вроде бы банально, но ... Я хочу напечатать японские иероглифы, используя обычный C из шестнадцатеричных

Из этой таблицы , я знаю, что первый символ в таблице, あEntity - & # 12353, а его шестнадцатеричный Entity - x3041 и т. д.

Но как мне использовать эти два числа для печати всех символов в командной строке?

Ответы [ 2 ]

3 голосов
/ 22 декабря 2010

Если определено __STDC_ISO_10646__, wchar_t в Unicode, и вы можете сделать что-то вроде:

printf("%lc", (wchar_t)0x3041);
3 голосов
/ 22 декабря 2010

Если ваш терминал настроен на UTF-8 и локаль установлена ​​правильно, вы можете написать:

char s[]="あ";

Вы также можете попробовать

 char s[]={0xe3,0x81,0x82,0x0}

(последним является кодировка Unicode UTF-8 для "あ"), а затем просто printf("%s",s);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...