Entwickler-Ecke
C# - Die Sprache - [VS2008] Base64 Decoder Error
Levsen - Sa 04.10.08 07:24
Titel: [VS2008] Base64 Decoder Error
Hallo ich habe einen Base64 Encoder und Decoder gemacht baer das Decoden geht nicht :(
Wen ich Gecoden will kommt das
| Zitat: |
| Der Index war außerhalb des Arraybereichs. |
Hier mal der Code Schnippsel und in Zeile 10 ist der Fehler
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| public Base64Decoder(char[] input) { int temp=0; source=input; length=input.Length;
for (int x=0;x<2;x++) { if(input[length-x-1]=='=') temp++; } paddingCount=temp; blockCount=length/4; length2=blockCount*3; } |
Kann jemand helfen ?
Kha - Sa 04.10.08 09:35
Wenn der Fehler auftritt, sollte dir der Debugger doch die Inhalte aller Variablen zu diesem Zeitpunkt anzeigen und du damit selbst den Fehler in deinem Algorithmus finden können. Bis jetzt sieht es leider eher so aus, als ob du dir beim Debugging so viel Mühe gegeben hast wie bei der Rechtschreibung deines Postings :| .
JüTho - Sa 04.10.08 10:33
Kha hat folgendes geschrieben : |
| ... so viel Mühe gegeben hast wie bei der Rechtschreibung deines Postings :| . |
Nun ja, ich habe schon Beiträge mit schlimmeren Schreibweisen gelesen. Aber dass Debugging oft schneller helfen kann als jedes Forum, sehe ich genauso.
Levsen hat folgendes geschrieben : |
Wenn ich decoden will, kommt das: Rechtschreibung von JüTho korrigiert
| Zitat: | | Der Index war außerhalb des Arraybereichs. |
|
Zusammen mit der Angabe der Zeile, in der der Fehler auftritt, kann man solch einen Fehler auch oft durch
Nachdenken beseitigen: Offensichtlich wird der durch "length-x-1" berechnete Index kleiner als 0 oder größer als das Maximum. Das hängt also von lenght und von x ab. Welche Werte kann x annehmen? Aha, wegen der Schleife nur 0 und 1. Welche Werte kann length annehmen? Das hängt vom input ab. Dazu gibt es keine näheren Informationen; aber was passiert, wenn input nur 1 Byte umfasst? Boooiiing...
Auch eine solche Überlegung habe ich vermisst. Jürgen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!