Tôi có một chìa khóa ứng cử viên (MongoDB chủ chốt ứng cử viên, __id) thats trông giống như trong bộ đệm giao thức sau:-to nhị phân-text mã hóa, các ký tự không in ấn, bộ đệm giao thức, MongoDB và bson
message qrs_signature
{
required uint32 region_id = 1;
repeated fixed32 urls = 2;
};
nhiên Tôi không thể sử dụng một chuỗi giao thức được mã hóa chuỗi (thông qua ParseToString(std::string)
) trong tài liệu bson của tôi vì nó có thể chứa các ký tự không in. Vì vậy, tôi đang sử dụng mã hóa ascii85 để mã hóa dữ liệu (sử dụng this library). Tôi có hai câu hỏi.
- Mã hóa b85 có an toàn không.
- bson's binary type for là gì? là có một số cách mà tôi có thể cấy chuỗi (nhị phân) của tôi vào trường đó bằng cách sử dụng một cuộc gọi API mongodb, hoặc là nó chỉ là cú pháp đường để biểu thị một loại giá trị cần được xử lý dưới dạng nào đó (--ie, không phải là bản địa thực thể mongodb)?
chỉnh sửa
dữ liệu chương trình The append binary
api của bị mã hóa như hex (OMG!), Base85 Do đó, nhiều không gian hiệu quả (22 byte cho mỗi bản ghi trong trường hợp của tôi).
Aha, cảm ơn xác thực, tôi thấy bây giờ có một phương pháp cụ thể để thêm dữ liệu nhị phân được gọi là 'BSONObjBuilding :: AppendBinData', có trường độ dài. –