在Python 3.7中,我想将一个Avro对象编码为String。
我找到了转换为字节数组而不转换为字符串的示例。
转换为字节数组的代码:
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
,但是那要使用什么编码器?我们如何序列化它?