У цій публікації я побачив кілька відповідей, і це можна вважати завершеним базовим знанням, тому що для вирішення однієї проблеми є кілька підходів у програмуванні C #. Тільки одне, що необхідно враховувати, - це про різницю між Pure UTF-8 та UTF-8 з BOM .
Минулого тижня на своїй роботі мені потрібно розробити один функціонал, який виводить файли CSV з BOM та іншими CSV з чистим UTF-8 (без BOM), кожен тип кодування файлів CSV буде використовуватися різними нестандартизованими API, цей API читає UTF-8 з BOM, а інший API читається без BOM. Мені потрібно вивчити посилання на цю концепцію, прочитавши " Яка різниця між UTF-8 та UTF-8 без BOM? ", Обговорення стека переповнення та посилання Вікіпедії " Позначення порядку байтів ", щоб побудувати мій підхід.
Нарешті, моє програмування на C # для обох типів кодування UTF-8 (з BOM та pure) повинно бути подібним, як у цьому прикладі нижче:
//for UTF-8 with B.O.M., equals shared by Zanoni (at top)
string result = System.Text.Encoding.UTF8.GetString(byteArray);
//for Pure UTF-8 (without B.O.M.)
string result = (new UTF8Encoding(false)).GetString(byteArray);