C ++ Builder: преобразование двоичного кода в AnsiString

когда у меня есть двоичный код типа «01010100011001010111001101110100», как я могу преобразовать его обратно в «тест»?

Благодарю.

-5

Решение

Есть много способов получить это. Это зависит от языка. В общем случае вы разбиваете двоичную строку на куски по 8 бит (байт). Затем вы будете вычислять десятичное значение каждого байта. Ссылка ниже рассказывает, как это сделать. Если у вас есть десятичное значение, у вас есть каждая буква. Отсюда зависит от языка. В C вы можете создать массив символов из каждого и создать c-строку.

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

Вы также можете сделать таблицу поиска.

1

Другие решения

#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;
}
0