ToBase64String, C # 3.5 - PullRequest
       9

ToBase64String, C # 3.5

1 голос
/ 21 августа 2011

При преобразовании файла zip в строку в кодировке base64, которая необходима для отправки почты с поддержкой MIME, которую я использую

var encodedContent = Convert.ToBase64String(Encoding.ASCII.GetBytes(File.ReadAllText(zipFilePath)));

Однако все вложения, которые я получаю, повреждены. Кажется, кодировка base64 неверна. Может кто-нибудь посоветовать по этому поводу.

1 Ответ

1 голос
/ 21 августа 2011

File.ReadAllText предназначен для чтения текста и поэтому применяет кодировки (и , что при перегрузке применяется эвристика для определения кодировки). Вот почему вам нужно «расшифровать», чтобы получить байты.

Применение различных кодировок таким образом может привести к изменениям в потоке байтов (в этом смысл кодировок).

Лучше читать байты непосредственно из файла с чем-то вроде File.ReadAllBytes, который может быть передан непосредственно в ToBase64String.

...