Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

Кодировка и 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.051 c
1-1153124134
wezzz
2006-07-17 12:15
2006.08.27
Как в excel записать данные в столбец Х (по порядковому номеру!)


15-1154323092
Ega23
2006-07-31 09:18
2006.08.27
С Днём рождения! 31 июля


15-1154206733
Германн
2006-07-30 00:58
2006.08.27
"Поиск" и возврат в форум


2-1154865170
Sele
2006-08-06 15:52
2006.08.27
панель


2-1154696449
BVV
2006-08-04 17:00
2006.08.27
Как избавиться от представления чисел в виде *...*Е*..*?