通过Keil uVision 5,可以使用十六进制值超过0xFF的Unicode吗?

时间:2019-02-08 15:56:08

标签: unicode keil unicode-escapes

我正在尝试打印进行控制台。我尝试了printf("\u0394");,但遇到了以下错误:

  

../ Src / main.c(322):警告:#3488-D:十六进制Unicode字符   值394在系统默认代码页中无法表示。

我错过了#include#pragma要求在uVision v5中使用Unicode吗?

什么是系统默认代码页?

2 个答案:

答案 0 :(得分:0)

Keil的编译器适用于嵌入式系统,因此“控制台”的概念有些局限。您需要弄清楚控制台的实际工作方式。有些显示模块仅在ROM中具有硬编码的ASCII字符集。无论您做什么,它们都不会显示∆。

答案 1 :(得分:0)

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

代码页要做的一件事情是将字节0-255映射到特定的Unicode代码点。由于最多有1,114,112个Unicode代码点,因此您只能打印映射到您的代码页所在位置的256个字符。字节0-255的Unicode字符不必为U + 0000到U + 00FF(除非代码页为ISO-8859-1 aka latin1,实际上在其中映射)。例如,请参见code page 1252