Я хочу иметь возможность сериализовать Vec<u8>
как строку в кодировке base64 для JSON (и других форматов на основе UTF-8), сохраняя при этом массив байтов для двоичных форматов сериализации.
#[derive(Serialize, Deserialize)]
struct MyStruct {
binary_data: Vec<u8>,
}
По умолчанию serde_json сериализует поле binary_data
как массив чисел. Вместо этого я хочу, чтобы он был сериализован как строка, закодированная с помощью base64. Тем не менее, я хочу сохранить двоичный код (или любой другой двоичный формат) с использованием необработанных байтов и избежать преобразования base64.
Единственное решение, которое я придумал, - это создать копию структуры данных специально для сериализатора, но это действительно раздражает и неэффективно, когда у вас есть вложенные структуры.