[英]c++ how to print utf8 symbol using utf8 hex code?
例如,我有一個符號的utf8十六進制代碼,它是:
e0a4a0
我該如何使用這個十六進制代碼打印這個人物ठ
在C ++文件?
我看到您可以采取兩種方法:第一種是將其字面使用為
"ठ"
第二種是以轉義序列\\u\u003c/code>或
\\x
對其進行編碼(兩者均無效,因此我沒有示例)
std::cout<<"ठ\xe0\xa4\xa0"<<std::endl;
但是我認為對您來說最好的選擇是在二進制模式下打開文件,然后將那些字節放在那里。
您需要分別輸出每個字節。
例如,如果您有:
c386
您需要將第一個字節(前兩個字符“ c3”)轉換為int,轉換為char並輸出,然后將第二個字節(“ 86”)轉換為輸出。
針對這種情況的轉換(“ c386”):
string a="c386";
char b = (a[0] - 'A' + 10) * 16 + a[1] - '0';
char c = (a[2] - '0') * 16 + a[3] - '0';
cout << b << c << endl;
“ c3” = 44 * 16 + 3 = 707,“ 86” = 8 * 16 + 6 =134。將這些int值轉換為char並輸出它們,您便擁有了自己的角色。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.