Текст вложения почты имеет \ 0 перед каждым символом в c # Microsoft.Exchange.WebServices 2.2 - PullRequest
0 голосов
/ 04 декабря 2018

Я использую пакет NuGet Microsoft.Exchange.WebServices для C #, чтобы читать из моего почтового ящика и читать вложения текстовых файлов.

Хотя это обычно работает, у меня теперь есть чередующийся набор электронных писем, где текстовое содержимоевложения выключено.

Это мой код для доступа к вложению:

EmailMessage message = EmailMessage.Bind(service, Mail.Id);
// load attachments
FileAttachment fileAttachment = message.Attachments[0] as FileAttachment;
fileAttachment.Load();
string newSoxAttachment = System.Text.Encoding.Default.GetString(fileAttachment.Content);

Это имя файла:

2018-11_GPM-User-Verification-Report.txt

Это то, что файл долженвыглядеть (работает в редакторе):

enter image description here

это то, что на самом деле содержит строка newSoxAttachment:

ÿþ=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=
\0M\0O\0N\0T\0H\0L\0Y\0 \0G\0P\0M\0 \0U\0S\0E\0R\0 \0V\0E\0R\0I\0F\0I\0C\0A\0T\0I\0O\0N\0 \0R\0E\0P\0O\0R\0T
\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=

\0R\0E\0P\0O\0R\0T\0 \0R\0U\0N\0 \0I\0D\0:\0 \0R\0I\0D\02\00\01\08\01\02\00\01\00\01\00\01
\0R\0E\0P\0O\0R\0T\0 \0R\0U\0N\0 \0D\0A\0T\0E\0:\0 \00\01\0.\01\02\0.\02\00\01\08
\0D\0A\0T\0A\0 \0F\0O\0R\0 \0M\0O\0N\0T\0H\0:\0 \02\00\01\08\0-\01\01
\0T\0a\0s\0k\0 \0V\0e\0r\0s\0i\0o\0n\0:\0 \02\0.\00

\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=
\0F\0I\0N\0D\0 \0R\0E\0P\0O\0R\0T\0 \0D\0A\0T\0A\0 \0A\0B\0O\0U\0T\0 \0D\0I\0S\0A\0B\0L\0E\0D\0 \0U\0S\0E\0R\0S\0 \0B\0E\0L\0O\0W\0:
\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=\0=

В основном\0 ставится перед каждой буквой.Я считаю, что это проблема кодирования, но я не знаю, какая кодировка мне нужна.Я уже попробовал UTF серии и по умолчанию

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Код, приведенный выше, напоминает UTF-16, как правильно сказал Драконийский ум.

Однако System.Text.Encoding.UTF-16 недоступен

, поэтому используйте System.Text.Encoding.Unicode или System.Text.Encoding.BigEndianUnicode

(попробуйте, какой из них вам подходит)

0 голосов
/ 04 декабря 2018

Вы пытаетесь рассматривать UTF-16 как ASCII.Каждый базовый символ имеет ширину 2 байта в UTF-16.

Поскольку символы, на которые вы смотрите, имеют кодовую точку ниже 255, они имеют начальный ноль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...