Laden...

Probleme mit ToBase64String?

Erstellt von budy1234 vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.209 Views
B
budy1234 Themenstarter:in
27 Beiträge seit 2005
vor 18 Jahren
Probleme mit ToBase64String?

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?

B
189 Beiträge seit 2004
vor 18 Jahren

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!

B
budy1234 Themenstarter:in
27 Beiträge seit 2005
vor 18 Jahren

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!