Сериализация строк, целочисленных значений и чисел с плавающей точкой для символьных массивов для работы в сети без библиотек

Я хочу передавать данные по сети, но я не хочу использовать какие-либо сторонние библиотеки (стандарт C / C ++ в порядке).

например:

unsigned int x = 123;
char y[3] = {'h', 'i', '\0'};
float z = 1.23f;

Я хочу это в

char xyz[11];

массив.

Примечание: чтобы передать его по сети, мне нужен сетевой порядок байтов для беззнакового целого (функция htonl), затем мне нужно как-то сериализовать число с плавающей запятой, чтобы оно было в форме IEEE 754 (в Интернете есть много функций), и я это знаю.

Как я могу получить их в массив xyz-Array, аккуратно выстроенный в ряд, чтобы я мог использовать это как буфер для моей функции socket + send ()? Очевидно, у меня есть обратные функции (ntohl, и обратный IEEE 754), чтобы получить их, но там мне тоже нужна техника, желательно такая же ...

Это было бы что-то вроде этого:

xyz in binary: 
00000000 0000000 00000000 01111011 | 01101000 | 01101001 | 00000000 | 00111111 10011101 01110000 10100100
- big endian repr. of u. int 123 - | - 'h'  - | - 'i'  - | - '\0' - | -   IEEE 754 repr of float 1.23   -

Как я могу сделать это без внешних библиотек и минимального использования стандартных библиотечных функций? Это не столько для моей программы, сколько для меня, чтобы учиться.

Ответы на вопрос(4)

Ваш ответ на вопрос