Hallo,
habe erstmal die suchfunktion versucht, wegen dem Convert.ToBase64String, habe aber leider nicht das passende gefunden,also versuche schon seid stunden dieses hier:
String ZwString = "Text";
string StringTest1 = Convert.ToBase64String(System.Text.Encoding.Unicode.GetBytes(ZwString));
Byte[] bytespeicher = Convert.FromBase64String(StringTest1);
klappt alles super,weiter:
byte [] testbyte = new testbyte[2];
testbyte[0] = 4;
testbyte[1] = 3;
string ergebnis = Convert.ToBase64String(bytespeicher) + Convert.ToBase64String(testbyte);
Byte[] ergebnisbyte= Convert.FromBase64String(ergebnis) //Problem
Gibt nicht immer aber sehr oft den fehlercode "Ungültige Zeichen" woran liegt das?
Sobald ich den Convert.ToBase64String(testbyte); weg lasse,klappt alles super keinen fehler aber sonst geht nicht immer, wie gesagt der compiler meckert nicht! Nur bei programm ablauf gibt es probleme.
Könnt ihr mir das erklären?
Original von budy1234
byte [] testbyte = new testbyte[2];
Bist du sicher, dass du nicht meintest:
byte [] testbyte = new byte [2];
testbyte[0] = 4; testbyte[1] = 3; string ergebnis = Convert.ToBase64String(bytespeicher) + Convert.ToBase64String(testbyte);
Die Zeichen mit dem ASCII-Code 4 und 3 sind in einem Base64-String ganz sicher nicht erlaubt, zumal sie keine darstellbaren Zeichen sind. Der Sinn von Base64 ist es doch gerade, Nicht-ASCII-Zeichen zu kodieren!
byte [] testbyte = new byte [2];
war natürlich gemeint,war mein fehler.
Und jetzt dazu:
testbyte[0] = 4;
testbyte[1] = 3;
string ergebnis = Convert.ToBase64String(bytespeicher) + Convert.ToBase64String(testbyte);
Also möchte die bytesspeicher und testbyte aber wieder in einem string bringen.
Und sie sind ja auch kodiert. Wie würdest du es den machen, aus dem string wird ein schlüssel gebastelt,bzw. erstellt!