Hallo
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.
Ok, genau, das wusste ich.
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.
Hm, ich meinte mal gelesen zu haben, dass der Server die Anfrage dann schon von vorneherein verweigern kann, wenn er weiß, dass die Datenmenge zu groß ist. Natürlich könnte man den Server zu übertölpeln versuchen, indem man bei content-length den Wert einfach fälscht.