C ++ Builder:将二进制代码转换为AnsiString

时间:2016-01-21 18:49:36

标签: c++ binary ansistring

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

感谢。

2 个答案:

答案 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;
}