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