Проблема
Я пишу программу на C#, которая используется для сохранения и загрузки списка объектов в определенной структуре, например:
ПОДПИСЬ\r\n РАЗМЕР\r\n OBJECT_DATA\r\n \r\n РАЗМЕР\r\n OBJECT_DATA\r\n \r\n Подпись — это примитивная строка, содержащая закрытый ключ для отделения моего файла данных от других файлов.
SIZE — это целочисленное значение, обозначающее количество байтов, которые OBJECT_DATA использует.
OBJECT_DATA — это класс, содержащий мои данные.
Что я пробовал
Я нашел много решений в Stackoverflow, и почти все они используют BinaryFormatter, который небезопасен и не должен использоваться.
Я также взглянул на protobuf-net, но все еще не мог применить его для решения своей проблемы.
Моя идея
Я думаю, что этапы сериализации и десериализации решения будут выглядеть так:
Сериализация (предположим, что файл ввода/вывода является двоичным файлом):
1. Откройте выходной файл и напишите подпись. 2. Прокрутите список исходных объектов. - Для каждого элемента рассчитайте размер элемента и запишите его в выходной файл. - Запись данных объекта в двоичный файл. (Я все еще путаю на этом этапе) - Напишите «\r\n», чтобы отметить, что это конец элемента. Десериализовать
1. Откройте входной файл и прочитайте подпись 2. Если Подпись соответствует моему секретному ключу: - Цикл до конца файла - Прочтите значение РАЗМЕРА. - Прочитайте объект и создайте экземпляр его класса.
Есть ли способ сохранить и загрузить сложную структуру данных в двоичный файл на С#? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Есть ли умный способ преобразовать сложную строку в несколько списков в Python 3?
Anonymous » » в форуме Python - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Есть ли умный способ преобразовать сложную строку в несколько списков в Python 3 [закрыто]
Anonymous » » в форуме Python - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-