Zum Inhalt springen

[VB.NET] Ungültige base64 Zeichen aus String entfernen


Empfohlene Beiträge

Geschrieben

Ich hatte im aktuellen Projekt die Aufgabe, E-Mail von diversen Accounts zu laden und diese in einer DB zu archivieren.

Dummerweise taucht beim Parsen von base64 Codierten Inhalten folgender Fehler auf:

Ungültige Zeichen in einer Base-64-Zeichenfolge.

Ergo suche ich jetzt nach einer Funktion, welche vor der Konvertierung alle ungültigen Zeichen entfernt.

Der Fehler ist jetzt bei einer von 20 getesteten Mails aufgetreten. Deswegen genügt mir bei diesem Durchschnitt eine Quick&Dirty Lösung.

Aktuelle lese ich mich in Regex ein und werde mal schaun ob ich einen passenden Pattern String zusammenbekomme.

Eine weitere Frage.

Ist folgende Aussage korrekt?


Falls die Länge des Originalstrings nicht durch 3 teilbar ist, wird der zu codierende Text 

am Ende mit = Zeichen aufgefüllt, so dass der Ausgabestring immer durch 4 teilbar ist (ohne Rest).

Ich war unsprünglich der Meinung ja. Allerdings trifft das bei den .eml files die mir zugespielt werden zu 70 nicht zu.

lg

Gateway

Geschrieben

Entschuldigt ich war bei verfassen des letzten Eintrags etwas in Eile.

Die Aussage:

Falls die Länge des Originalstrings nicht durch 3 teilbar ist, wird der zu codierende Text

am Ende mit = Zeichen aufgefüllt, so dass der Ausgabestring immer durch 4 teilbar ist (ohne Rest).

bezieht sich auf die Konvertierungs-konventionen von Base64 Strings.

Ich war unsprünglich der Meinung ja. Allerdings trifft das bei den eml files die mir zugespielt werden und über eine Base64 ContentCodierung verfügen, zu 70% nicht zu.

lg

Gateway

Geschrieben

Was sind denn das für ungültige Zeichen?

Allerdings trifft das bei den eml files die mir zugespielt werden und über eine Base64 ContentCodierung verfügen, zu 70% nicht zu.
70% von allen, oder 70% von denen, deren Länge kein Vielfaches von 4 ist?
Geschrieben (bearbeitet)

Bei 70 % aller getesteten E-Mails, ist die Stringlänge des Base64 Codierten Textes nicht durch 4 Teilbar.

An das Fehlerhafte Zeichen bin ich bis jetzt noch nicht rangekommen. Auch die InnerException gibt nicht mehr Auskunft.

Durch einen Vergleich mit den erlaubten Zeichen(

"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

) und den mir aktuell vorliegenden Zeichen, ist mir keine Abweichung aufgefallen.

Das ist sehr verzwickt :beagolisc.

lg

Gateway

Edit:

Hat sich erledigt.

Bearbeitet von Gateway_man

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...