![](/img/trans.png)
[英]convert a '$_GET' hex value (string form) to hex int — how?
[英]How to get the hex value of Russian string in c++
我有一些php代码,可以通过以下操作将俄语字符串转换为十六进制:
$string = "Ф";
$hex='';
for ($i=0; $i < strlen($string); $i++){
$hex .= dechex(ord($string[$i]));
}
echo $hex;
这将产生我正在寻找的正确输出:
d0a4
我试图在C ++中重现这些结果,但没有成功。 如果执行以下操作,看来c ++返回的十六进制值为424:
char16_t strg(L"Ф");
要么
wstring strg(L"Ф");
要么
short strg(L'Ф');
请帮助我在C ++中重现d0a4
的值。 谢谢。
尝试这个
// wide character data
std::wstring wstr = L"Ф";
// wide to UTF-8
std::wstring_convert<std::codecvt_utf8<wchar_t>> conv1;
std::string u8str = conv1.to_bytes(wstr);
std::cout << "UTF-8 conversion produced " << u8str.size() << " bytes:\n";
hex_print(u8str);
// wide to UTF-16le
std::wstring_convert<std::codecvt_utf16<wchar_t, 0x10ffff, std::little_endian>> conv2;
std::string u16str = conv2.to_bytes(wstr);
std::cout << "UTF-16le conversion produced " << u16str.size() << " bytes:\n";
hex_print(u16str);
参考: http : //en.cppreference.com/w/cpp/locale/wstring_convert/to_bytes
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.