Мне нужно обработать файлы CSV, которые хранятся в виде строк bsae64. Я никогда не знаю, в каком формате они были созданы (обычно это будет ANSI или UTF-8). Я изо всех сил пытался добиться чего-то полезного, тем не менее, я получаю испорченные символы, когда я тестирую свой код в файле CSV, который был сохранен в ANSI. Код для чтения - это просто двухстрочный код:
byte[] dataToDecode = Convert.FromBase64String(base64Content);
string csvContentInUTF8 = Encoding.UTF8.GetString(dataToDecode2);
У меня нет доступа к коду, который сохраняет файлы.
Пример строки во входном CSV:
;;; superÆ / æ Ø / ø и даже Å / å Тема ;; Джон; Доу ;;;; john@doe.com ;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;
что я получаю после декодирования (вторая строка кода)
;;; super / / oraz / Тема ;; Джон; Доу ;;;; john@doe.com ;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;
следующий этот вопрос Я попытался изменить код на чтение скандинавской кодировки, поэтому:
string csvContentInUTF8x = Encoding.GetEncoding("iso-8859-1").GetString(dataToDecode);
Вывод:
;;; super� / � � / � oraz � / � Тема ;; Джон; Доу ;;;; john@doe.com ;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Выглядит точно так же для Encoding.Default