Вопрос по c++, string – Самый быстрый способ конвертировать строку в двоичный файл?

13

Я хочу преобразовать строку, используя класс строки - в двоичный файл. Какой быстрый способ сделать этого персонажа за персонажем. Loop? Или есть какая-то функция, которая будет конвертировать для меня? 1 'и бинарный 0'.

Строка, являющаяся:

#include <string>
using namespace std;
int main(){
  myString = "Hello World";
}
Итак, что вы пробовали - код, который у вас есть, даже не компилируется ... Alexei Levenkov
Что бы вы хотели видеть в качестве выходных данных для & quot; Hello, world & quot ;? 11 * 80 или же1 символы, представляющие двоичные ASCII-коды строковых символов, или что-то еще? dasblinkenlight
@ Serdalis Я действительно понятия не имею, что там происходит. Derp
ага 1 и 0 бинарные Derp
Вы хотите это:stackoverflow.com/questions/505021/… Serdalis

Ваш Ответ

2   ответа
0

#include <iostream>
#include <bitset>
using namespace std;

string TextToBinaryString(string words) {
    string binaryString = "";
    for (char& _char : words) {
        binaryString +=bitset<8>(_char).to_string();
    }
    return binaryString;
}
int main()
{
    string testText = "Hello World";
    cout << "Test text: " << testText << "!\n";
    cout << "Convert text to binary: " << TextToBinaryString(testText) << "!\n";

    return 0;
}

код результата:

Test text: Hello World!                                                                                                                                                                                 
Convert text to binary: 0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100!
31

std::bitset должно сработать:

#include <string>
#include <bitset>
#include <iostream>
using namespace std;
int main(){
  string myString = "Hello World";
  for (std::size_t i = 0; i < myString.size(); ++i)
  {
      cout << bitset<8>(myString.c_str()[i]) << endl;
  }
}

Выход:

01001000
01100101
01101100
01101100
01101111
00100000
01010111
01101111
01110010
01101100
01100100
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededbitset<8>(myString[i])

Похожие вопросы