所以我现在正在学习C++ 11,而且我已经掌握了它.我想使用不同的语言,因为我是越南语,我想制作一个使用越南字符的C++程序.
那么如何以与显示英语相同的方式显示越南语字符,如下所示:
cout << "Hello. This is English" << endl; //English
cout << "Chào. ?ây là ti?ng Vi?t." << endl; //Vietnamese
Run Code Online (Sandbox Code Playgroud)
我听说C++有<locale>.它有助于使越南人物出现吗?
您可能遇到了环境问题.您没有说明您正在运行的平台/环境,但请采用以下程序:
#include <iostream>
#include <cstdlib>
int main()
{
std::cout << u8"Chào th? gi?i!" << std::endl;
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
这将从Mac OS X上的iTerm产生以下输出:
Chào th? gi?i!
对于其他(非unicode)环境,使用相同的代码,您可能会在输出中将UTF-8字符解释为ASCII.我不知道Windows命令行会产生什么,但如果您使用的是IDE,那么您的IDE可能会也可能不会呈现UTF-8,无论您的shell是否执行.
这是一个Web示例.
https://code.sololearn.com/c39N9RN6b4Md/#cpp产量:
Ch?áo thß?? giß?¢i!
但http://ideone.com/OkkUZs运行完全相同的代码会产生:
Chào th? gi?i!
也许值得指出的是,在C++中正确处理UTF-8字符串,计算"字符",确保你的字符串是有效的UTF-8等,你可能想要使用Unicode库 - 使用Unicode是非不重要的.
就个人而言,我发现UTFCPP和TinyUTF8都是优秀的图书馆 - 相当小,简单而有效.
希望有所帮助.
小智 3
#include <iostream>\n#include <io.h>\n#include <fcntl.h>\n\nint main() {\n _setmode(_fileno(stdout), _O_U16TEXT);\n std::wcout << L"Ch\xc3\xa0o. \xc4\x90\xc3\xa2y l\xc3\xa0 ti\xe1\xba\xbfng Vi\xe1\xbb\x87t.";\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这是适用于 Windows 的解决方案。不幸的是它不能移植到其他平台。
\n| 归档时间: |
|
| 查看次数: |
1022 次 |
| 最近记录: |