我希望将孟加拉语字母打印到控制台,因为该字母的UTF-16
低2字节存储在unsigned short
变量中。
例如,对于字母অ
(参考:অ)
unicode值为 - 0985(十六进制)
我有,unsigned short unicodeChar = 0x0985;
现在,如何使用অ
的值打印此unicodeChar
字母?
注意:我已经尝试过这个 - cout << "\u0985";
并正确打印অ
。
但我希望能够打印变量unicodeChar
答案 0 :(得分:1)
尝试使用const char *来存储值。
#include <iostream>
using namespace std;
int main()
{
const char* uC = "\u0985";
cout << uC << endl;
}
如果您想使用unsigned short的值,可以使用setlocale
并按%lc
打印:
#include <stdio.h>
#include <locale.h>
int main()
{
if (!setlocale(LC_CTYPE, ""))
{
fprintf(stderr, "Error:Please check LANG, LC_CTYPE, LC_ALL.\n");
return 1;
}
unsigned short unicodeChar = 0x0985;
printf ("%lc\n",unicodeChar);
}