मैं एक उम्मीदवार कुंजी है (MongoDB उम्मीदवार कुंजी है, __id) thats निम्नलिखित प्रोटोकॉल बफ़र्स में दिखाई देता है:द्विआधारी से पाठ एन्कोडिंग, गैर मुद्रण वर्ण, प्रोटोकॉल बफ़र्स, MongoDB और bson
message qrs_signature
{
required uint32 region_id = 1;
repeated fixed32 urls = 2;
};
स्वाभाविक रूप से मैं अपने बीएसओ दस्तावेज़ में प्रोटोकॉल बफर एन्कोडेड स्ट्रिंग (ParseToString(std::string)
के माध्यम से) का उपयोग नहीं कर सकता क्योंकि इसमें गैर-प्रिंटिंग वर्ण हो सकते हैं। इसलिए, मैं डेटा एन्कोड करने के लिए ascii85 एन्कोडिंग का उपयोग कर रहा हूं (this library का उपयोग कर)। मेरे पास दो प्रश्न हैं।
- बी 85 एन्कोडिंग बीसन-सुरक्षित है।
- bson's binary type for क्या है? क्या कोई तरीका है कि मैं एक मैंगोडब एपीआई कॉल का उपयोग करके उस क्षेत्र में अपनी (बाइनरी) स्ट्रिंग को प्रत्यारोपित कर सकता हूं, या यह केवल एक सिल्वरैक्टिक चीनी है जो किसी मान-प्रकार को इंगित करने के लिए है जिसे किसी रूप में संसाधित करने की आवश्यकता है (--ie, मूल नहीं मोंगोडब इकाई)?
संपादित
append binary
एपीआई इस शो के डेटा हेक्स के रूप में एन्कोड किया जा रहा (OMG!), Base85 इसलिए अधिक स्थान कुशल (मेरे मामले में रिकॉर्ड प्रति 22 बाइट्स) है।
आहा, सत्यापन के लिए धन्यवाद, अब मुझे लगता है कि 'बीएसओएनओबीज बिल्डिंग :: एपेंडबिनडाटा' नामक बाइनरी डेटा जोड़ने के लिए एक विशिष्ट विधि है, जिसमें लम्बाई क्षेत्र होता है। –