是否可以在 Keil uVision 5 中使用十六进制值超过 0xFF 的 unicode?

Is it possible to use unicodes with hex values over 0xFF with Keil uVision 5?

我正在尝试打印 到控制台。我试过 printf("\u0394"); 但出现以下错误:

../Src/main.c(322): warning: #3488-D: Unicode character with hex value 394 not representable in the system default code page.

我是否缺少 #include#pragma 要求将 Unicode 与 uVision v5 一起使用?

系统默认代码页是什么?

Keil 的编译器用于嵌入式系统,因此 "console" 的概念有点受限。你需要弄清楚你的控制台是如何工作的。有些显示模块只是在 ROM 中有一个硬编码的 ASCII 字符集;无论您做什么,他们都不会显示 ∆ 。

您的代码页可以是任何内容,因为您没有描述操作环境。

代码页做的一件事是将字节 0-255 映射到特定的 Unicode 代码点。由于最多有 1,114,112 个 Unicode 代码点,因此无论您的代码页是什么,您都只能打印映射到的 256 个字符。对于字节 0-255,Unicode 字符不必是 U+0000 到 U+00FF(除非代码页是 ISO-8859-1 aka latin1,实际上 映射)。例如,参见 code page 1252.