У меня есть реактивныймон go BSONDocument, но я хочу записать его в файл - я знаю, что есть формат BSON (http://bsonspec.org/spec.html), и я хочу написать его в соответствии с этими спецификациями, но проблема в том, что я не могу найти ни одного вызова метода для этого. Я смог преобразовать его в массив байтов, но проблема начинается, когда я конвертирую в строку, формат UTF8 по умолчанию. Однако спецификации BSON требуют 32-битного числа в начале. Есть ли библиотека, которая может сделать это для меня? Если нет, как я могу добавить строку, представляющую 32-битное число, и строку UTF8 вместе, не теряя кодировку для одного или обоих?
Вот что я получил в Scala:
import reactivemongo.bson.buffer.ArrayBSONBuffer
val doc = BSONDocument("data" -> overall)
val buffer = new ArrayBSONBuffer()
BSONDocument.write(doc, buffer)
val bytes = buffer.array
val str = new String(bytes, Charset.forName("UTF8"))
Для справки, я знаю, что в Ruby мы можем сделать что-то подобное, но как мне сделать то же самое с реактивом go?
bson_data = BSON.serialize({data: arr}).to_s