Tach!
Und genau deswegen gibt es die Typisierung: Damit Zahlen ihrem Typ entsprechend übertragen werden können. 0x3D braucht genau ein Byte.
Nee, was du da machst ist Kodierung. Du kodierst die Zahl in einem Byte, und das überträgst du. Vielleicht ist zufälligerweise das interne Speicherformat gleich wie das Format für die Übertragung, dann Glück gehabt, kannst es 1:1 kopieren. Ansonsten ist der Typ ist für die Übertragung irrelevant. Der Dekodierer auf Empfängerseite muss nur wissen, wieviel Byte er lesen muss, und wie er sie zu interpretieren hat, um die Daten für die nächste Schicht im Programm wiederherstellen zu können.
Nimm mal als Datentyp einen für ein Unicode-Zeichen. Kannst du anhand des Typs wissen, wieviel Bytes du zum Speichern brauchst? Nein. Das weißt du erst, nachdem du es gemäß einer der Vorschriften (z.B: UTF-x) kodiert hast. Und dann hast du für denselben Datentyp unterschiedliche Darstellungsmöglichkeiten, je nachdem welche UTF-x du nimmst. Ändert sich dadurch der Typ von Zeichen zu UTF-8-Zeichen oder UTF-16-Zeichen? Für mich jedenfalls nicht, wenn sich nur die physische Darstellung ändert.
dedlfix.