c++ - 打印一个 unicode 拉丁字母 (utf8)

标签 c++ unicode utf-8

使用 clang++ 3.2。 尝试打印 𝖆 (\u1D586),

cout << 𝖆 << endl;

但出现编译错误:

error: expected expression
cout << <U+1D586> << endl;

或者,

cout << "\u1D586" << endl;

得到不完整的输出:

ᵘ6

似乎最后一个 '6' 没有一起解释。

这是什么原因,如何解决?

最佳答案

\u 后跟 4 个十六进制数字,在您的情况下,您应该使用 \U 后跟 8 个十六进制数字 \U0001D586

关于c++ - 打印一个 unicode 拉丁字母 (utf8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16803614/

相关文章:

go - 如何在 Golang 中将全角数字字符转换为 Ascii?

java - 在 Android Studio 中使用韩文字符

java - 为什么我不能在 Java 的 char 数组中存储日文 UTF-8 字符?

c++ - 在哪里定义内部结构静态对象?好像不能

c++ - 从 DLL 调用函数

c++ - 不持有锁的条件变量信号

音频和视频控件中暂停符号的 HTML

c++ - 应该如何编写计算到点的最近距离的 C++ 函数?

java - 编写没有 BOM 的 UTF-8

mysql - MySQL 是否处理单个 utf-8 字符键以及整数?