मुझे डेटा [100]byte
का एक गुच्छा स्थानांतरित करने के लिए पढ़ने की आवश्यकता है string
।
क्योंकि सभी नहीं string
ठीक 100 वर्ण लंबे हैं, शेष भाग s के byte array
साथ गद्देदार है 0
।
यदि मैं इसके द्वारा परिवर्तित [100]byte
करता हूं string
:, string(byteArray[:])
टेलिंग 0
एस को ^@^@
एस के रूप में प्रदर्शित किया जाता है ।
सी में string
पर समाप्त हो जाएंगे 0
, तो मुझे आश्चर्य है कि सबसे अच्छा तरीका यह कन्वर्ट करने के लिए क्या byte array
करने के लिए string
Golang में।
string(body)
।
^@
नहीं दिखा, लेकिन यह वहाँ होता अगर आप इसे टर्मिनल या कुछ इसी तरह का परीक्षण करते। इसका कारण, यह है कि गो बाइट्स सरणी को स्ट्रिंग में परिवर्तित करना बंद नहीं करता है जब यह पाता है कि एक 0.len(string(bytes))
आपके उदाहरण में 5 है और 1 नहीं है। यह आउटपुट फ़ंक्शन पर निर्भर करता है, चाहे स्ट्रिंग पूरी तरह से (शून्य के साथ) मुद्रित हो या नहीं।