【发布时间】:2015-01-19 20:28:41
【问题描述】:
我有一个这样的字符串
string s = "0081";
我需要像这样制作一个字符串
string c = "\u0081"
如何从长度为 4 的原始字符串中生成长度为 1 的字符串?
编辑: 我的错误,“\u0081”不是字符(1 字节)而是 2 字节字符/字符串? 所以我输入的是二进制 1000 0001,即 0x81,这就是我的字符串“0081”的来源。 从这个 0x81 到字符串 c = "\u0081" 会更容易吗? 感谢大家的帮助
【问题讨论】:
-
您是否尝试过完成它?你是怎么失败的?你确定你只想要更小的代码点
0x10000? -
如果你做类似字符串 c = "\u"+"0081";你得到一个错误,这是一个不完整的通用字符名称 \u 因为 c 是一个 1 个字符的字符串,你是否尝试类似 c.replace(0,1,"9");您只需替换所有内容,您就没有 \uXXXX 了,只有“9” 我无法从 4 个字符串“0081”中定义一个字符(\u0081)
-
你没有,你得到一个错误,不能添加两个指向
const char的指针。 -
你试过
string c = "\u0081"吗?我想你会发现它 not 是一个 1 字符的字符串。例如。 ideone.com/Ok7wnl -
@MarkRansom:取决于您使用的“字符”定义。这让 unicode 变得如此有趣。