Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Empfohlene Antworten

  • Autor

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

  • Autor

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

  • Autor

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.