1unitedpower: multipart/form-data

Beitrag lesen

Es gibt noch eine Trennsequenz bei desem Enctype, das ist die Leerzeile CRLFCRLF.

Ja, um Kopfdaten von Nutzdaten zu trennen.

Und die Wahrscheinlichkeit, dass CRLFCRLF in beliebigen Binaries (auch Textdateien sind Binaries) vorkommen kann, ist sehr groß.

Und das stellt auch kein Problem dar. Aus dem Kontext heraus ist der Zweck des doppelten Zeilenumbruchs klar: Der erste doppelte Zeilenumbruch nach den Kopfdaten markiert den Anfang der Nutzdaten. Weitere doppelte Zeilenumbrüche sind einfache Nutzdaten - Verwechslungen ausgeschlossen.

Du stellst dich vor Probleme, die es nicht gibt. Das zeigt mir auch dein ständiges Beharren auf Binärsequenzen, als seien sie so fundamental unterschiedlich von Strings, dass sie eine ständige Extrawurst spielen. Das ist nicht der Fall, und das hält dich auf. In Wahrheit macht eine Unterscheidung in den seltensten Fällen überhaupt Sinn. Versuche dich mal von deinem bisherigen Denkansazt zu lösen und fasse Bytes und Zeichen einfach als Symbole auf, dann sind Strings und Binärsequenzen einfach nur noch die Aneinanderreihung von Symbolen. Wenn du diese Abstraktion verinnerlichst, wirst du in der Lage sein, künftig Operationen des einen Datentyps auf den jeweils anderen zu übertragen. Ich möchte dir sehr an Herz legen ein Mal ein Anfängerbuch über formale Sprachen zu lesen, das wird deinem technischen Verständnis von enormen Nutzen sein.