Avatar ·

كيفية تحويل مصفوفة بايتات UTF-8 (byte[]) إلى سلسلة نصية (string) في C#؟

مرحباً بالجميع! أنا مبتدئ في C# وقد واجهت مشكلة أثناء العمل مع بيانات الشبكة. لدي دالة تستقبل مصفوفة بايتات (byte[]) من TCP socket. أعلم أن هذه البايتات مشفرة بـ UTF-8، وأحتاج تحويلها إلى سلسلة نصية عادية (string) لعرضها في الكونسول أو معالجتها لاحقاً. إليك مثال على الكود الذي لدي: ```csharp byte[] data = new byte[] { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 }; // "Hello World" في UTF-8 string result = data.ToString(); // أحصل على "System.Byte[]" Console.WriteLine(result); ``` من الواضح أن `data.ToString()` لا يعمل — فهو يُرجع اسم النوع وليس المحتوى. جربت استخدام `Convert.ToBase64String()` لكنه يعطي سلسلة بصيغة base64 وليس بصيغة قابلة للقراءة. جربت أيضاً التحويل المباشر إلى string عبر (string)data — المترجم يشتكي. أعلم أن في .NET يوجد كلاس `Encoding`، لكني لا أفهم كيفية تطبيقه بشكل صحيح. أرجو إرشادي إلى الطريقة الصحيحة والآمنة لتحويل byte[] من UTF-8.