000
22.01.2014, 09:41 Uhr
downunderthunder
|
Hallo, ich bin quasi gerade neu hier im Forum und in C++ auch noch ziemlich neu. Ich habe vorher fast ausschließlich in C++ programmiert.
Ich möchte nun einen string, den ich aus ner Email fische und base64 codiert ist decodieren!
folgendes war mein Versuch:
C++: |
string my_test_string = base64_decode("AQADABIFIgARAKkAJ0a80BABABQyMDE0LTAxLTE0VDEwOjAwOjAwWgIA" "Ci0wLjA0MTg0MjUDAAcxLjAwMzc0BAAJLTAuOTIwNjczBQAHMTEuMzU0MgYABzQ0Ni4zN" "TEHAAcxMTQuMjIxCAAHNjcuODU5NwkABzg1LjE4ODUKAAc5OS43NTQ1CwAJLTAuMTUz" "MDYzDAABMA0AATAOAAEwDwALLTAuMDA1MTA3NTYQAAktMC4wNTc3MjQ=");
|
diese Funktion wird durch den header base64.h includiert! scheint c++ standard zu sein!
leider klappt die Dekodierung so gar nicht! Es werden immer nur 2 Leerzeichen zurückgegeben.
Gebe ich allerdings einen anderen base64 codierten string an, also einen, den ich z.B. http://http://www.base64encode.org/ oder www.motobit.com/util/base64-decoder-encoder.asp codiert habe klappt es.
Den String, den ich hier aus der Email decodieren möchte, kann ich über diese web-Anwendungen auch decodieren, nur die C++ Funktion geht nicht.
kann es sein, dass der string mit nem anderen Schriftsatz codiert ist? Wie kann ich das berücksichtigen?
alternativ habe ich auch aus Qt eine Methode für QByteArray genutzt:
C++: |
QByteArray qbaSBDdataArray_decoded = QByteArray::fromBase64("AQADABIFIgARAKkAJ0a80BABABQyMDE0LTAxLTE0VDEwOjA" "wOjAwWgIACi0wLjA0MTg0MjUDAAcxLjAwMzc0BAAJLTAuOTIwNjczBQAHMTEuMzU0Mg" "YABzQ0Ni4zNTEHAAcxMTQuMjIxCAAHNjcuODU5NwkABzg1LjE4ODUKAAc5OS43NTQ1C" "wAJLTAuMTUzMDYzDAABMA0AATAOAAEwDwALLTAuMDA1MTA3NTYQAAktMC4wNTc3MjQ=");
|
der Erfolg blieb auch aus. Das Verhalten ist dasselbe, wie zuvor?
Viele Grüße
dut
-- edit von ao: meterlange Zeilen verkürzt. Dieser Post wurde am 22.01.2014 um 11:09 Uhr von ao editiert. |