Nein. Datentypen sind ja eben dazu da daß man sie nicht extra verpacken muss. Eine Deklaration like uint8_t beeinhaltet ja einen Datentyp der nicht nur 8 Bit im Hauptspeicher sondern auch genau 1 Byte zum Transport benötigt, also keine weitere Verpackung.
Wenn du ein XML-RPC-Anfrage
<param>
<value><int>10</int></value>
</param>
UTF-8-kodiert verschickst, wird aus dem Text 10
der zweistellige Bytestring 0x31 0x30
. Bei UTF-32LE-Kodierung wird daraus sogar der 8-stellige Bytestring 0x31 0x00 0x00 0x00 0x30 0x00 0x00 0x00
. Der Typ <int>
sagt einfach, dass beim Dekodieren des Bytestrings daraus eine 32-Bit-Ganzzahl gemacht werden soll. Umgekehrt musst du, wenn du den uint8 Wert 10
in UTF-32LE kodiertem XML ausgeben willst auch die wieder eine 8-stellige Bytesequenz erzeugen. Heißt, was ein Byte im Hauptspeicher braucht, kann beim Transport durchaus zu längeren Bytestrings werden.