Двоичная сериализация JSON или любого открытого текста с использованием C - PullRequest
0 голосов
/ 13 июля 2011

Я хотел бы взять простой текст ASCII, такой как JSON, и сериализовать его для передачи по проводам в двоичном виде. Я хотел бы добавить 4-байтовый заголовок без знака в этот двоичный файл, который будет иметь размер «объекта» JSON, чтобы упростить его десериализацию на сервере.

В PHP это можно сделать с помощью методов семейства pack () и unpack (). Я хотел бы иметь возможность сделать то же самое с использованием ANSI C.

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

Если у вас уже есть строка json, вам не нужно ничего преобразовывать.Просто добавьте длину и отправьте ее.

0 голосов
/ 14 июля 2011

JSON уже является сериализованным форматом.И хотя вы МОЖЕТЕ пройти через боль преобразования ее в двоичную, откровенно говоря, нет особого смысла.Если вы не говорите о большом количестве данных (или невероятно медленной скорости передачи), выгода от их преобразования минимальна.Что касается добавления длины, даже это не является абсолютно необходимым (хотя я знаю, что на стороне приемника приятно знать, сколько памяти выделять заранее).Вы также можете легко использовать нулевой терминатор для обозначения конца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...