В Python 3.7 я хочу закодировать объект Avro в строку.
Я нашел примеры преобразования в байтовый массив, но не в строку.
Код для преобразования в байтовый массив:
def serialize(mapper, schema):
bytes_writer = io.BytesIO()
encoder = avro.io.BinaryEncoder(bytes_writer)
writer1 = avro.io.DatumWriter(schema)
writer1.write(mapper, encoder)
return bytes_writer.getvalue()
mapper
- это словарь, который будет заполнять объект avro.
io
предоставляет StringIO
, который, как я полагаю, нужно будет использовать вместо BytesIO
, но какой кодер использовать с этим? Как мы сериализовали это?