Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将位集转换为ASCII字符串_C++_String_Bitset - Fatal编程技术网

C++ 将位集转换为ASCII字符串

C++ 将位集转换为ASCII字符串,c++,string,bitset,C++,String,Bitset,如何将二进制文件转换回字符串 std::string test1("Hello"); std::bitset<8> test2; test2 = std::bitset<8>(test1.c_str()[0]); std::cout << test2 << std::endl; std::string test3=test2.to_string<char,std::char_traits<char>,std::allocator

如何将二进制文件转换回字符串

std::string test1("Hello");
std::bitset<8> test2;
test2 = std::bitset<8>(test1.c_str()[0]);

std::cout << test2 << std::endl;
std::string test3=test2.to_string<char,std::char_traits<char>,std::allocator<char> >(); 
std::cout << test3 << std::endl;
std::stringtest1(“Hello”);
std::位集test2;
test2=std::位集(test1.c_str()[0]);
std::cout你的
std::bitset
显然无法容纳世界
“你好”
。毕竟,您只代表8位。您可以做的是将每个
char
转换为
std::bitset
(当然,假设
char
为8位,这是典型的情况,但不能保证),并使用
to_ulong()
std::bitset
作为整数返回其值。将由此获得的值转换为
char
应产生原始字符:

std::bitset<8> c(test1[0]);
std::cout << "c=" << c << " char(c.to_ulong())=" << char(c.to_ulong()) << "\n";
std::位集c(test1[0]);
std::cout你的
std::bitset
显然无法容纳世界
“你好”
。毕竟,您只代表8位。您可以做的是将每个
char
转换为
std::bitset
(当然,假设
char
为8位,这是典型的情况,但不能保证),并使用
to_ulong()
std::bitset
作为整数返回其值。将由此获得的值转换为
char
应产生原始字符:

std::bitset<8> c(test1[0]);
std::cout << "c=" << c << " char(c.to_ulong())=" << char(c.to_ulong()) << "\n";
std::位集c(test1[0]);

std::cout如果您不确定
std::bitset
中的N,则可以使用
boost::dynamic\u bitset
如果您不确定
std::bitset
中的N,则可以使用
boost::dynamic\u bitset