char zu int und v.V.



  • ich hab nun ein steganographie programm fertig und alles klappt auch sehr schnell und ich bin eigentlich ganz zufrieden, das einzige problem ist nur dass einzelne charakters auf dem weg irgendwie verändert bzw getauscht werden...
    ich verwende an manchen stellen, die umwandlung von char = int und umgekehrt und denke, dass dort mein problem liegen könnte...
    z.B.:
    ^1234567890ß´°!"§$%&/()=?`
    *+'#_-:.;,µ~\}][{³²
    ÖÄÜ
    öäü

    wird zu:
    ^123456789°ß´0!¢'$%&/()=?`
    *+'#_-:.;¬5~\}][û³2
    ŠÖÄ\
    Šöä|
    kann das am tastaturlayout liegen????
    ich hab doch hier irgendeinen fehlen drin?!?!?
    würde mich sehr über eure hilfe freuen!
    vielen dank



  • wie machst du das denn?
    char a = '...';
    int i = a;
    a = (char)i;

    oder was? da glaub ich nämmich nicht dass da sowas raus kommt.



  • poste doch mal den Code von deiner Umwandlung



  • also es geht darum dass ich eine datei in einer bmp verstecken will, wofür ich die zu versteckende datei im maßstab 1:8 auf das least significant bit der bmp verteile...
    wenn ich die datei auslese, mache ich dies in einen vector <int> file! weil ich später jeden char als zahl vorliegen haben muß um damit weiterarbeiten zu können!

    std::ifstream file(filename.c_str(),std::ios::binary);
    if (!file.is_open())
    exit(1);
    file.seekg(0,std::ios::end);
    int filesize=file.tellg();
    file.seekg(0,std::ios::beg);
    std::vector <int> filebuffer(filesize);
    for (int q=0;!file.eof();q++)
    filebuffer[q]=file.get();
    file.close();

    ich hoffe das ich hier nicht irgendeinen kapitalfehler begehe:(
    mfg cali



  • Warum verwendest du denn ein ganzes int um eine einzelnes Byte zu speichern?
    Auch ein char ist eine Zahl!


Anmelden zum Antworten