Also ganz genau genommen gibt es nur binäre Übertragung. In jedem Fall (egal, welches konkrete Internet-Transportprotokoll eingesetzt wird) werden einfach immer uninterpretierte Oktetts/Bytes übertragen. Es liegt dann ja einfach nur an deinem Sender und Empfänger, wie sie diese Oktetts interpretieren möchten.
Wenn du z.B. einfach ASCII oder UTF-8 übertragen möchtest, sagst du ja schon auf der Senderseite "Ich habe diese Zeichen, jetzt kodiere diese Zeichen mal in ihren Oktett/Byte-Stream und sende das." Und im Empfänger machst du es umgekehrt und sagst: "Dieser Oktett/Byte-Stream ist in Wirklichkeit ein ASCII oder UTF-8 (oder welches Character-Encoding auch immer) Text/String, also dekodiere diesen bitte in einen Text/String."
Ich vermute, dass deine konkrete Frage aber eher wahrscheinlich auf die konkrete Nutzung einer Library/API abzielt, um eben einen uninterpretierten Byte-Stream zu senden. Dann müsstest du nur noch sagen, was genau du nutzt.