C# में स्ट्रिंग को बाइट एरे में बदलना: सही तरीका क्या है?
सभी को नमस्ते। मैं एक शुरुआती C# डेवलपर हूँ और नेटवर्क रिक्वेस्ट और फाइलों के साथ काम करते समय एक समस्या का सामना कर रहा हूँ। मुझे एक सामान्य स्ट्रिंग (string) को बाइट एरे (byte[]) में कन्वर्ट करना है, ताकि इसे सॉकेट के माध्यम से भेज सकूं या बाइनरी फाइल में लिख सकूं।
समस्या यह है कि मुझे समझ नहीं आ रहा कि कौन सा तरीका सही है। मैंने `BitConverter.GetBytes()` का उपयोग करने की कोशिश की, लेकिन यह एक एरे देता है जहाँ प्रत्येक कैरेक्टर 4 बाइट्स लेता है, जो स्पष्ट रूप से वैसा नहीं है जैसा मैंने उम्मीद किया था। मैंने इंटरनेट पर `Encoding.ASCII.GetBytes()` और `Encoding.UTF8.GetBytes()` का उल्लेख भी देखा। इनमें क्या अंतर है? अगर मैं सीधे `(byte[])myString` लिखूं - तो यह कंपाइल ही नहीं होता।
यहाँ मेरे कोड का एक उदाहरण है जो मेरी इच्छानुसार काम नहीं कर रहा:
string message = "Привет, мир!";
byte[] bytes = BitConverter.GetBytes(message); // त्रुटि या नहीं
```