我使用以下代码
int main() { std::string str="\xc2b1"; std::cout << str; }
现在根据这个 c2b1相当于PLUS-MINUS SIGN然而当我在coliru上运行这个代码时我得到了符号
?
这是编译器的问题吗?或者我做错了什么我期待这个符号
±
任何建议,将不胜感激.
\xc2b1
正在向编译器询问一个值为0xc2b1的字节,这在几乎任何具有8位字节的"普通"平台上是不可能的.
你链接的站点试图说的是,代码点(≈character)U + 00B1表示为序列的2 UTF-8代码单位(=字节),具体C2 B1.因此,您必须将两个字节写为两个单独的转义序列,即"\xc2\xb1"
.