,经过一段时间看上去UTF8转换字符串十六进制字符串,并且向后 我发现了一些例子和可能的解决方案,但只有无特殊字符的所有工作。 我有如下因素:在= “áéíóúñü”C++转换UTF8字符串为十六进制,反之亦然
串
结果768,16是:
“c3a1c3a9c3adc3b3c3bac3b1c3bc”
我尝试下面的帖子,和其他人:
C++ convert string to hexadecimal and vice versa
How to convert a string in hexadecimal string?
http://www.cplusplus.com/forum/beginner/161703/
我会尽量解释更好,但我不能好好地说英语。抱歉。我不得不使用套接字发送一些数据。为此,我必须使用UTF-8将名称转换为十六进制,但在某些情况下,有特殊字符,例如á,é,í... 转换普通字母时,每个字母的字符串长度为2。
A-> “61”
E-> “65”
但是特殊字符被编码(在UTF-8)与长度为4
A- >“c3a1”这是正确的转换
é->“c3a9”这是正确的转换
我尝试过所有找到的方式,包括那个建议我失望的转换。但每次你转换一个特殊的字符给我一个2位数的答案,这是不正确的。
A-> “E1” 这个正确的未启用
E-> “E9” 这个正确的未启用
您好,欢迎来SO!请阅读[this](http://stackoverflow.com/help/how-to-ask)文章,了解如何提出更好的问题,这将有助于人们给你更好的答案。特别是,添加你已经尝试过的代码。 –