Hi!
Mir geht es auch eher nur darum, ob es für sowas eine "best practice" gibt, also z.b. man würde dann die Stringlänge (im Falle von Ascii) per Shell ermitteln oder die Bytelänge (im Falle einer Kodierung, die mehr als 1 Byte/Zeichen nutzt)
Die Kodierung spielt keine Rolle. Im Gegenteil, du _musst_ sie unberücksichtigt lassen und die Anzahl Bytes[*] zählen. Und das über alles, denn POST-Daten (besonders die aus Formularen) werden üblicherweise auch noch URL-kodiert und als Name-Value-Pärchen übertragen. Auch diese Metadaten müssen mitgezählt werden.
Aber ich frage mich, was der ganze Aufwand soll? Was hat denn der empfangende Server davon, dass er dass er vorher weiß, wieviel Daten kommen sollen, dass deiner darauf zu bestehen scheint? Und was für ein Nachteil ist es denn, wenn er die Länge nicht kennt oder eine falsche Länge bekommt. So eine Längenangabe ist doch nicht mal als (eine Art) Prüfsumme zu gebrauchen.
Wie auch immer, wenn deine POST-Daten nur aus Daten ohne weitere Transport-Kodierung und ohne Metadaten gesendet werden, dann kannst du die Datenquelle nach der Länge befragen oder selbst zählen. Wenn du sie für den Transport aufbereiten musst, ist ein Selbst-Zählen(-Lassen) effizienter als erst noch eine Datei anzulegen, bei der du wieder die Besonderheiten einer Multi-User-Umgebung beachten musst.
[*] korrekterweise Oktetts, aber solange nichts anderes vereinbart wird, ist ein Byte gleich 8 Bit.
Lo!