नेट में, प्रत्येक स्ट्रिंग में एक वर्ण सेट और एन्कोडिंग होता है। एक कैरेक्टर एन्कोडिंग कंप्यूटर को बताता है कि कच्चे शून्य और लोगों को वास्तविक वर्णों में कैसे व्याख्या करना है। यह आमतौर पर वर्णों के साथ संख्याओं को जोड़कर करता है। दरअसल, यह यूनिकोड वर्णों के एक सेट को बाइट्स के अनुक्रम में बदलने की प्रक्रिया है।
हम निर्दिष्ट बाइट सरणी में सभी बाइट्स को एक स्ट्रिंग में डीकोड करने के लिए Encoding.GetString Method (Byte[]) का उपयोग कर सकते हैं। एन्कोडिंग क्लास में कई अन्य डिकोडिंग स्कीम भी उपलब्ध हैं जैसे UTF8, यूनिकोड, UTF32, ASCII आदि। एन्कोडिंग क्लास सिस्टम के हिस्से के रूप में उपलब्ध है। टेक्स्ट नेमस्पेस।
string result = Encoding.Default.GetString(byteArray);
उदाहरण
using System; using System.Text; namespace DemoApplication { public class Program { static void Main(string[] args) { byte[] byteArray = Encoding.Default.GetBytes("Hello World"); Console.WriteLine($"Byte Array is: {string.Join(" ", byteArray)}"); string str = Encoding.Default.GetString(byteArray); Console.WriteLine($"String is: {str}"); Console.ReadLine(); } } }
आउटपुट
उपरोक्त कोड का आउटपुट है
Byte Array is: 72 101 108 108 111 32 87 111 114 108 100 String is: Hello World
यह ध्यान रखना महत्वपूर्ण है कि हमें दोनों दिशाओं के लिए समान एन्कोडिंग का उपयोग करना चाहिए। उदाहरण के लिए, यदि बाइट सरणी ASCII के साथ एन्कोडेड है और हम UTF32 का उपयोग करके स्ट्रिंग प्राप्त करने का प्रयास कर रहे हैं, तो हमें वांछित स्ट्रिंग नहीं मिलेगी।
उदाहरण
using System; using System.Text; namespace DemoApplication { public class Program { static void Main(string[] args) { byte[] byteArray = Encoding.ASCII.GetBytes("Hello World"); Console.WriteLine($"Byte Array is: {string.Join(" ", byteArray)}"); string str = Encoding.UTF32.GetString(byteArray); Console.WriteLine($"String is: {str}"); Console.ReadLine(); } } }
आउटपुट
उपरोक्त कोड का आउटपुट है
Byte Array is: 72 101 108 108 111 32 87 111 114 108 100 String is: ???