是否可以使用 MinGW 在 Windows XP 控制台上获取 unicode 字符?

Posted

技术标签:

【中文标题】是否可以使用 MinGW 在 Windows XP 控制台上获取 unicode 字符?【英文标题】:is it possible to obtain unicode characters on Windows XP console using MinGW? 【发布时间】:2012-02-10 14:56:16 【问题描述】:

我找到了一堆代码示例,但这些是针对 MSVC++ 的,这些示例在 MinGW 下失败了,所以我想知道在 MinGW 中是否有可能?也许这是仅在 MSVC 中可用的功能?

如果可能的话,能否请您提供一个简单的自我可持续的代码来打印 Hello World 消息,例如俄语 (привет мир)。

【问题讨论】:

如何谈论空间站和“你好世界”? :-) This code 似乎可以工作,但需要选择合适的字体。 ***.com/questions/2849010/… 【参考方案1】:

您可以将它分配给一个字符数组,然后打印它。唯一需要注意的是,您必须将其保存为 UNICODE 文件并使用可以读取 UNICODE 文件的编译器。

#include<iostream.h>

int main()
 
 using namespace std;
 wchar_t a[]='п','р','и','в','е','т',' ','м','и','р';
 for(int x=1; a[x]!='\0'; x++)
      wcout<<a[x];
 return 0;
 

这将打印输出如下。

привет мир

或者,如果你只想要 ASCII 字符,你可以通过指定它的字符代码来打印它们。

#include<iostream.h>

int main()
 
 for(int x=1; x<40; x++)
      cout<<char(x)<<"\t";
 return 0;
 

这将打印与数字对应的ASCII字符,如下所示。

☺ ☻ ♥ ♦ ♣ ♠ ♫ ☼ ► ◄ ↕ ‼ ¶ § ▬ ↨ ↑ ↓

【讨论】:

以上是关于是否可以使用 MinGW 在 Windows XP 控制台上获取 unicode 字符?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Windows XP上部署Qt 5.10 Quick 2应用程序?

windows xp 下,编译安装QWT6.0.1时,在mingw32-make时,出现下面这个问题,有没有人知道这是怎么回事儿?

C: 带有 MinGW 的正则表达式库

是否可以使用 Cygwin 或 MinGW 将 Linux 守护程序移植到 Windows?

如何在 windows xp 上部署 Qt 5.10 Quick 2 应用程序?

将 inotify 与 MinGW 一起使用