Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Encoding 
V
    Опции темы
vikaz
Дата 30.9.2010, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: нет
Всего: 12



Ребята, всем привет! Возникла проблема!
Принимаю почтовые сообщения и subject закодирован в UTF-8. 

Код

=?utf-8?B?MzY5MzhiOTItYjA5Yi00ODdiLThhODgtMmVhMzIxNjRjMThi?=


Но вот проблема, никак не могу преобразовать его в простую строку.
Пытаюсь сделать так:
Код

string unicodeString = "=?utf-8?B?MzY5MzhiOTItYjA5Yi00ODdiLThhODgtMmVhMzIxNjRjMThi?=";
Encoding qq = Encoding.UTF8;
byte[] qwe1 = qq.GetBytes(unicodeString);

string qwe2 = qq.GetString(qwe1);
MessageBox.Show(qwe2);

Но ничего не получается, преобразование не происходит. Подскажите, в чем может быть загвоздка?
Заранее спасибо.

Это сообщение отредактировал(а) vikaz - 30.9.2010, 07:49


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
jonie
Дата 30.9.2010, 08:36 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



отрезаете это "=?utf-8?B?" до окончания "?=" и делаете base64 decode (Convert.FromBase64String) ну а дальше уже работаете с UTF-8


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
vikaz
Дата 30.9.2010, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: нет
Всего: 12



Спасибо, буду пробовать



--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
mrbrooks
Дата 30.9.2010, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306



хотя jonie все и так объяснил, влезу:
Код

byte [] arr = Convert.FromBase64String("MzY5MzhiOTItYjA5Yi00ODdiLThhODgtMmVhMzIxNjRjMThi");
string output = Encoding.UTF8.GetString(arr);


PM MAIL   Вверх
vikaz
Дата 30.9.2010, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: нет
Всего: 12



Спасибо! Но не понятно, что компонента не отбрасывает автоматом =?utf-8?B?.....?=
Глупо и непонятно..... а делать это руками совсем не смешно! :(



--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
mrbrooks
Дата 30.9.2010, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306



А что за компонента?

Да и не стоит забывать что человечество придумало регулярные выражения.
PM MAIL   Вверх
vikaz
Дата 30.9.2010, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: нет
Всего: 12



Спасибо! Всем каждому по плюсу в бортовой журнал.
Проблему правда решил по другому. 
При отправке писем при помощи SmtpClient, формировал следующим образом:
Код

message.SubjectEncoding = Encoding.UTF8;
message.Subject = subject; 

убрал message.SubjectEncoding = Encoding.UTF8; и все пучком. Еще раз спасибо.

Это сообщение отредактировал(а) vikaz - 30.9.2010, 09:09


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
jonie
Дата 30.9.2010, 10:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



Цитата(mrbrooks @  30.9.2010,  09:55 Найти цитируемый пост)

Да и не стоит забывать что человечество придумало регулярные выражения. 

микроскопом по гвоздям бить нехорошо, достаточно сравнивать на utf8 собственно и на метод кодирования (B в данном случае это base64, но есть и другие методики - читайте RFC)


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
vikaz
Дата 30.9.2010, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: нет
Всего: 12



jonie, а есть возможность показать это кодом?


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
jonie
Дата 30.9.2010, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



vikaz, распечатать тебе кодом RFC или что?
Читайте отсюда: http://en.wikipedia.org/wiki/MIME#Encoded-Word


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
mrbrooks
Дата 1.10.2010, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306



Цитата(jonie @  30.9.2010,  11:36 Найти цитируемый пост)
микроскопом по гвоздям бить нехорошо, достаточно сравнивать на utf8 собственно и на метод кодирования

а ведь верно! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.