C ++将字符串转换为十六进制,反之亦然

C ++将字符串转换为十六进制,反之亦然

在C ++中将字符串转换为十六进制的最佳方法是什么?

例:

  • "Hello World"十六进制格式的字符串:48656C6C6F20576F726C64

  • 从十六进制48656C6C6F20576F726C64到字符串:"Hello World"


小唯快跑啊
浏览 1273回答 3
3回答

小怪兽爱吃肉

string&nbsp;ToHex(const&nbsp;string&&nbsp;s,&nbsp;bool&nbsp;upper_case&nbsp;/*&nbsp;=&nbsp;true&nbsp;*/){ &nbsp;&nbsp;&nbsp;&nbsp;ostringstream&nbsp;ret; &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(string::size_type&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;s.length();&nbsp;++i) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret&nbsp;<<&nbsp;std::hex&nbsp;<<&nbsp;std::setfill('0')&nbsp;<<&nbsp;std::setw(2)&nbsp;<<&nbsp;(upper_case&nbsp;?&nbsp;std::uppercase&nbsp;:&nbsp;std::nouppercase)&nbsp;<<&nbsp;(int)s[i]; &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;ret.str();}int&nbsp;FromHex(const&nbsp;string&nbsp;&s)&nbsp;{&nbsp;return&nbsp;strtoul(s.c_str(),&nbsp;NULL,&nbsp;16);&nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP