Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Вниз

Кодировка и IdPOP3   Найти похожие ветки 

 
Yegorchic ©   (2006-04-03 18:37) [0]

Здравствуйте! У меня такая проблема: когда я читаю "subject" какого-то письмы (IdMessage) полученного через IdPOP3, то оно у меня в такого содержания: "=?koi8-r?". Что надо сделать, что бы получить норамльную "тему". Тоже самое и с именем отправителя.


 
Dmitrij_K   (2006-04-03 22:08) [1]

DecodeHeader()


 
Yegorchic ©   (2006-04-03 23:20) [2]

Извините, может вопрос будет глупым, но откуда эту функцию взять?


 
Dmitrij_K   (2006-04-04 07:48) [3]

В Indy 10 - IdCoderHeader.pas


 
Yegorchic ©   (2006-04-04 15:24) [4]

Спасибо!


 
Yegorchic ©   (2006-04-04 17:49) [5]

Только что-то он не раскодируется никак... или я что-то не так делаю...


 
Dmitrij_K   (2006-04-04 20:48) [6]

А что можно делать неправильно?
см.
sss := DecodeHeader("=?koi8-r?Q?=ED=CF=C4=CE=D9=C5=20=CF=C2=CF=C9=20=C4=CC=D1=20?=");
sss = "нПДОЩЕ ПВПЙ ДМС";

Вот.
А чтобы в нормальную (windows) кодировку перевести надо еще раз преобразовать! Если нужна функция, могу на мыло послать.


 
Yegorchic ©   (2006-04-04 21:35) [7]

Пришлите пожалуйста!
А то я декодирую, а строка совершенно не меняется!


 
Sicilla ©   (2006-04-09 13:02) [8]

Dmitrij_K, написал бы так, тоже нужно


 
Ketmar ©   (2006-04-09 19:20) [9]

ага. типа так сложно KOI8-R-кодек сделать. два массива по 128 байтиков.


 
sicilla ©   (2006-04-10 18:03) [10]

Видимо Вы чиатать не умеете:
Dmitrij_K   (04.04.06 20:48) [6]

А что можно делать неправильно?
см.
sss := DecodeHeader("=?koi8-r?Q?=ED=CF=C4=CE=D9=C5=20=CF=C2=CF=C9=20=C4=CC=D1=20?=");
sss = "нПДОЩЕ ПВПЙ ДМС";

Вот.
А чтобы в нормальную (windows) кодировку перевести надо еще раз преобразовать! Если нужна функция, могу на мыло послать.
<Цитата>

Yegorchic ©   (04.04.06 21:35) [7]

Пришлите пожалуйста!
А то я декодирую, а строка совершенно не меняется!


У меня вот тоже не меняется :(


 
sicilla ©   (2006-04-10 19:14) [11]

Ладно. тут меняы приперло, и я сам врубился. Вот код:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
   TConvertChars = array [ #128..#255] of char;

const
 Koi_WinChars: TConvertChars = (
 #128,#129,#130,#131,#132,#133,#134,#135,#136,#137,#138,#139,#140,#141,#142,#143,
 #144,#145,#146,#147,#148,#149,#150,#151,#152,#153,#218,#155,#176,#157,#183,#159,
 #160,#161,#162,#184,#186,#165,#166,#191,#168,#169,#170,#171,#172,#173,#174,#175,
 #156,#177,#178,#168,#170,#181,#182,#175,#184,#185,#186,#187,#188,#189,#190,#185,
 #254,#224,#225,#246,#228,#229,#244,#227,#245,#232,#233,#234,#235,#236,#237,#238,
 #239,#255,#240,#241,#242,#243,#230,#226,#252,#251,#231,#248,#253,#249,#247,#250,
 #222,#192,#193,#214,#196,#197,#212,#195,#213,#200,#201,#202,#203,#204,#205,#206,
 #207,#223,#208,#209,#210,#211,#198,#194,#220,#219,#199,#216,#221,#217,#215,#218) ;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   Edit1: TEdit;
   Label1: TLabel;
   Edit2: TEdit;
   Label2: TLabel;
   Label3: TLabel;
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function Koi_winConvert(const St: string): string;
var
  i: integer;
begin
    Result:=St;
    for i:=1 to Length(St) do
        if St[i]>#127 then
           Result[i]:=Koi_WinChars[St[i]];
end;

procedure TForm1.Button2Click(Sender: TObject);
var S: string;
   i, ui: integer;
   t: TStringList;
begin
    t := TStringList.create;
    t.text := stringReplace("=?koi8-r?Q?=ED=CF=C4=CE=D9=C5=20=CF=C2=CF=C9=20=C4=CC=D1=20?=", "=", #13#10, [rfReplaceAll]);
    for i := 2 to t.Count-2 do
        begin
             ui := StrToInt("$" + t[i]);
             S := S + chr(ui);
        end;
    label2.Caption := S;
    label3.Caption := Koi_winConvert(S);
    t.free;
end;

end.

Cool!!!



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.047 c
1-1153124673
serg_iv
2006-07-17 12:24
2006.08.27
системное сообщение о выделении текста


5-1138281758
ronyn
2006-01-26 16:22
2006.08.27
Встроеное контекстное меню


4-1146664587
grisme
2006-05-03 17:56
2006.08.27
Как вычислять параллельно?


1-1153126986
SQL-PROGRAMMER
2006-07-17 13:03
2006.08.27
Почему сами перекомпилируются другие пакеты?


2-1154976016
Nosferattu
2006-08-07 22:40
2006.08.27
Вставка текста в TMemo из файла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский