【发布时间】:2016-11-24 06:54:06
【问题描述】:
我有一个 uint32_t 元素数组,每个元素都存储一个非拉丁 Unicode 字符的代码点。如何在控制台上打印它们或将它们作为 UTF-8 编码字符存储在文件中?我知道它们可能无法在控制台上正确呈现,但如果我在兼容的编辑器中打开它们,它们应该可以正常显示。
我曾尝试使用wprintf(L"%lc", UINT32_T_VARIABLE) 和fwprintf(FILE_STREAM, L"%lc", UINT32_T_VARIABLE),但无济于事。
【问题讨论】:
-
您确定
stdout不是面向字节的吗? -
@EOF:实际上
stdout必须是面向字节的,并且必须为此工作选择正确的语言环境。 -
@chqrlie:如果你想像 OP 那样使用
wprintf(),那就不行了。 -
@EOF:OP 尝试使用
wprintf()来达到他的目的,但他不一定想使用宽字符串版本,他只是想将 Unicode 代码点转换为 UTF-8。