#include <iostream>
#include <sstream>
#include <cstdlib>
using namespace std;
void string_to_hex(ostringstream& oss, string s)
{
oss.flags(ios::hex | ios::showbase | ios::uppercase);
for(size_t i=0; i<s.length(); ++i)
oss << static_cast<unsigned long>(s[i]) << ' ';
}
string hex_to_string(istringstream& iss)
{
string re;
string tmp;
unsigned long n;
while(iss>>tmp) {
n = strtoul(tmp.c_str(), 0, 0);
re.push_back(static_cast<char>(n));
}
return re;
}
int main ( )
{
cout << "你好,世界!\n";
ostringstream oss(ostringstream::out);
string_to_hex(oss, "你好,世界!");
cout << oss.str() << endl;
istringstream iss(oss.str());
cout << hex_to_string(iss);
return 0;
}
转载:
http://bbs.csdn.net/topics/310241436
C++中文转16进制,再转化为2进制数组
最新推荐文章于 2024-05-05 19:05:44 发布