Форум: "Сети";
Текущий архив: 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