Necesito para convertir una cadena en una cadena con el código binario de la primera cadena.
Para la primera parte he usado este: La forma más rápida de Convertir la Cadena a Binario? Funcionó a la perfección, pero no puedo encontrar una manera de escribir en una nueva cadena.

Este es el código que estoy usando hasta ahora:

for (size_t i = 0; i < outputInformations.size(); ++i)
{
    cout << bitset<8>(outputInformations.c_str()[i]);
}

De salida:

01110100011001010111001101110100011101010111001101100101011100100110111001100001011011010110010100001010011101000110010101110011011101000111000001100001011100110111001101110111011011110111001001100100

Hay una manera de escribir esto en una nueva cadena? Así que tengo una cadena llamada «binary_outputInformations» con el código binario en su interior.

2 Comentarios

  1. 2

    Buscas esto ?

      string myString = "Hello World";
      std::string binary_outputInformations;
      for (std::size_t i = 0; i < myString.size(); ++i)
      {
      bitset<8> b(myString.c_str()[i]);
          binary_outputInformations+= b.to_string();
      }
    
      std::cout<<binary_outputInformations;

    De salida :

    0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100

    • Funcionó A La Perfección
  2. 1

    Uso std::ostringstream (y esperemos que C++11):

    #include <iostream>
    #include <sstream>
    #include <bitset>
    
    std::string to_binary(const std::string& input)
    {
        std::ostringstream oss;
        for(auto c : input) {
            oss << std::bitset<8>(c);
        }
        return oss.str();
    }
    
    int main()
    {
        std::string outputInformations("testusername\ntestpassword");
        std::string binary_outputInformations(to_binary(outputInformations));
        std::cout << binary_outputInformations << std::endl;
    }

    De salida:

    01110100011001010111001101110100011101010111001101100101011100100110111001100001011011010110010100001010011101000110010101110011011101000111000001100001011100110111001101110111011011110111001001100100

Dejar respuesta

Please enter your comment!
Please enter your name here