以下字符串的大小为4而不是我预期的那样。
$Arraytest = $Arraytest2.Clone()
当循环遍历字符串字符时,将其转换为十六进制,我得到
0xc2来自哪里? 它是某种编码信息吗?我虽然std :: string在字符串中每个可见字符都有一个字符。有人确认0xc2是“字符集修饰符”吗?
答案 0 :(得分:10)
“½”在unicode中具有代码点U+00BD
,并由UTF-8由两个字节序列0xc2bd
表示。这意味着,您的字符串只包含三个字符,但长度为四个字节。
请参阅https://www.fileformat.info/info/unicode/char/00bd/index.htm
关于SO的补充阅读:std::wstring VS std::string。