प्रोटोकॉल बफर का कहना है कि यह contain any arbitrary sequence of bytes कर सकता है। लेकिन यदि मेरे डेटा में '\ 0' है, तो प्रोटोकॉल बफर एक स्ट्रिंग चर से मेरा पूरा डेटा कैसे एन्कोड कर सकता है।सी ++ में प्रोटोकॉल बफर बाइट स्ट्रिंग क्यों है?
13
A
उत्तर
12
प्रोटोकॉल बफर के सी ++ कार्यान्वयन बाइट और स्ट्रिंग प्रकार std::string
के रूप में लौटाता है। इस संरचना में एक लम्बा कार्य होता है जो आपको बताता है कि संबंधित डेटा कितना समय है (साथ ही डेटा भी।) इस प्रकार \0
वर्णों को एम्बेड करने का कोई विशेष महत्व नहीं है।
सेटिंग फ़ंक्शन एक स्ट्रिंग भी स्वीकार करते हैं, या ऐसे संस्करण हैं जो बफर और लंबाई स्वीकार करते हैं। आप एक क्षेत्र तुम सिर्फ यह कर सकते हैं सेट करना चाहते हैं:
pb.set_foo(std::string(data, data_length));
या
pb.set_foo(data, data_length);
+0
यह भी देखें https://stackoverflow.com/questions/2845769/can-a-stdstring-contain-embedded-nulls – Raedwald
संबंधित मुद्दे
- 1. सी ++ सॉकेट 256 बाइट बफर
- 2. प्रोटोकॉल बफर में शब्दकोश
- 3. प्रोटोकॉल बफर
- 4. प्रोटोकॉल बफर
- 5. Google प्रोटोकॉल बफर में पाइथन
- 6. RPRotoBuf (प्रोटोकॉल बफर)
- 7. प्रोटोकॉल बफर संदेशों में संग्रह?
- 8. प्रोटोकॉल बफर: निश्चित आकार बफर के लिए कोई नोटेशन नहीं?
- 9. Google प्रोटोकॉल बफर बार-बार फ़ील्ड सी ++
- 10. डेल्फी प्रोटोकॉल बफर?
- 11. Google प्रोटोकॉल बफर
- 12. स्कैला प्रोटोकॉल बफर कंपाइलर
- 13. एंड्रॉइड और प्रोटोकॉल बफर
- 14. प्रोटोकॉल बफर के विकल्प
- 15. Google प्रोटोकॉल बफर और HTTP
- 16. बाइट [] से बफर प्रकार
- 17. बाइट बफर (0.0-1.0)
- 18. बफर बनाम स्ट्रिंग गति: स्ट्रिंग तेज क्यों है?
- 19. डंप प्रोटोकॉल-बफर डेटा/प्रतिक्रिया
- 20. प्रोटोकॉल बफर और ओओ डिज़ाइन
- 21. सी # बाइट [] यूआरएल अनुकूल स्ट्रिंग
- 22. सी # अपने बाइट में स्ट्रिंग परिवर्तित [] बराबर
- 23. Google प्रोटोकॉल बफर ASN.1
- 24. पायथन बाइट स्ट्रिंग एन्कोड और डीकोड
- 25. प्रोटोकॉल बफर का उपयोग कैसे करें?
- 26. सी # बाइट सरणी में फ़ाइल
- 27. जेएसओएन या बीएसओएन बनाम प्रोटोकॉल बफर
- 28. प्रोटोकॉल बफर के साथ प्रयोग करने के कुछ दिनों के बाद प्रोटोकॉल बफर
- 29. Boost.Asio Google प्रोटोकॉल बफर के साथ
- 30. क्या Google प्रोटोकॉल बफर का एक अच्छा सी कार्यान्वयन
क्या आप "एक स्ट्रिंग चर" द्वारा मतलब है? क्या यह एक 'char * 'है? क्या यह सी, जावा या कुछ और है? –
@ मार्सेलो मैं अनुमान लगा रहा हूं कि उसका मतलब ' 'से 0 स्ट्रिंग है ... –
मैं अब सी ++ व्यक्ति नहीं हूं, लेकिन मैं इस धारणा के तहत था कि सी ++ स्ट्रिंग में \ 0' का कोई विशेष महत्व नहीं है * * जब तक कि आप उन विधियों का उपयोग नहीं कर रहे हैं जो विशेष रूप से '\ 0' को संभालते हैं। तो ... बस उन तरीकों का उपयोग न करें? –