在C 中打印Unicode 字符
嘗試打印Unicode 字符,例如俄語西里爾字母“ф”(U 0444),在C語言中可能具有挑戰性。本文探討如何使用 C 方法成功列印 Unicode 字元。
使用通用字元名稱 (UCN)
最直接的方法是使用通用字元名稱 (UCN) )。例如,字元“ф”的 Unicode 值為 U 0444。在 C 中,您可以將其表示為“u0444”或“U00000444”。
int main() { wchar_t f = '\u0444'; cout << f << endl; }
使用編碼
如果你的源碼編碼支援所需的字符,你可以直接在你的程式中使用它 代碼。例如,在 UTF-8 編碼中,字元「ф」是 'u0444'。
char b = '\u0444';
列印到終端模擬器
將 Unicode 字元列印到終端模擬器取決於模擬器的編碼以及與編譯器執行編碼的兼容性。如果它們匹配,則使用 std::cout 就足夠了。
int main() { std::cout << "Hello, ф or \u0444!\n"; }
處理 Windows 特定資訊
使用 Windows 需要額外的注意事項。一種方法是使用 _setmode() 將輸出檔案句柄設定為 UTF-16。
#include <iostream> #include <io.h> #include <fcntl.h> int main() { _setmode(_fileno(stdout), _O_U16TEXT); std::wcout << L"Hello, \u0444!\n"; }
或者,為了可移植性,您可以使用寬字串 (wchar_t) 並寫入寬流 (std:: wcout) 直接。
int main() { wchar_t f = L'\u0444'; // Prepend L to denote wide char literal wcout << f << endl; }
以上是如何在 C 中成功列印 Unicode 字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!