使用 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/