-4

当我有像“01010100011001010111001101110100”这样的二进制代码时,如何将其转换回“测试”?

谢谢。

4

2 回答 2

1

有很多方法可以得到这个。这取决于语言。通常,您会将二进制字符串分解为 8 位(字节)的块。然后你会计算每个字节的十进制值。下面的链接介绍了如何做到这一点。一旦你有了十进制值,你就有了每个字母。从这里开始,这取决于语言。在 C 中,您可以为每个字符创建一个 char 数组并创建一个 c 字符串。

http://www.wikihow.com/Convert-from-Binary-to-Decimal

你也可以做一个查表。

于 2016-01-21T19:05:48.067 回答
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;
}
于 2016-01-21T19:04:16.147 回答