当我有二进制代码如'01010100011001010111001101110100'时,如何将其转换回“测试”?
感谢。
答案 0 :(得分:1)
有很多方法可以做到这一点。这取决于语言。通常,您将以8位(字节)的块分解二进制字符串。然后,您将计算每个字节的十进制值。下面的链接说明了如何做到这一点。一旦你有了十进制值,你就有了每个字母。从这里开始,这取决于语言。在C中你可以创建一个char数组并生成一个c字符串。
http://www.wikihow.com/Convert-from-Binary-to-Decimal
您也可以查看表格。
答案 1 :(得分:0)
#include <iostream>
#include <string>
#include <climits>
int main( int, char ** )
{
std::string str( "01010100011001010111001101110100" );
std::string result;
for( size_t i = 0; i < ( str.size() / CHAR_BIT ); ++i )
result.push_back( static_cast< char >( stoi( str.substr( 8 * i, CHAR_BIT ), nullptr, 2 ) ) );
std::cout << "result = " << result << std::endl;
return 0;
}