当前位置:  开发笔记 > 编程语言 > 正文

如何使用C++在linux终端中显示unicode字符?

如何解决《如何使用C++在linux终端中显示unicode字符?》经验,为你挑选了1个好方法。

我正在Linux环境下使用C++进行国际象棋游戏,我希望在bash终端中使用unicode字符显示这些内容.有没有办法用cout显示符号?

输出骑士的一个例子很好:♞= U + 265E.



1> Charles Salv..:

要输出Unicode字符,只需使用输出流,就像输出ASCII字符一样.您可以将Unicode代码点存储为多字符字符串:

 std::string str = "\u265E";
 std::cout << str << std::endl;

如果要输出单个Unicode字符并使用高于ASCII范围的代码点,则使用宽字符输出也可能很方便:

 setlocale(LC_ALL, "en_US.UTF-8");
 wchar_t codepoint = 0x265E;
 std::wcout << codepoint << std::endl;

但是,正如其他人所指出的那样,这种显示是否正确依赖于用户环境中的很多因素,例如用户终端是否支持Unicode显示,用户是否安装了正确的字体等等.对于大多数开箱即用的主流发行版来说都是一个问题,例如安装了Gnome的Ubuntu/Debian,但不要指望它能在任何地方运行.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有