Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];
ВнизКак перекодировать KOI-8R в Win1251? Найти похожие ветки
← →
N A N (2002-08-07 18:36) [0]Компонент NMPOP3 этого вроде не позволяет. Как это можно сделать?
Может у кого есть таблица перекодировки?
← →
-=Prior=- (2002-08-07 18:51) [1]Можно см. FAQ
← →
N A N (2002-08-07 19:08) [2]В какой теме то хоть?
← →
V.Turecky (2002-08-07 19:20) [3]Из KOI-8R в Win1251 и обратно.
Ну-ка попробуй:
type
TConvertChars = array[#128..#255] of char;
const
Win_KoiChars: TConvertChars = (
#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,#060,#139,#140,#141,#142,#143,
#144,#145,#146,#147,#148,#169,#150,#151,#152,#153,#154,#062,#176,#157,#183,#159,
#160,#246,#247,#074,#164,#231,#166,#167,#179,#169,#180,#060,#172,#173,#174,#183,
#156,#177,#073,#105,#199,#181,#182,#158,#163,#191,#164,#062,#106,#189,#190,#167,
#225,#226,#247,#231,#228,#229,#246,#250,#233,#234,#235,#236,#237,#238,#239,#240,
#242,#243,#244,#245,#230,#232,#227,#254,#251,#253,#154,#249,#248,#252,#224,#241,
#193,#194,#215,#199,#196,#197,#214,#218,#201,#202,#203,#204,#205,#206,#207,#208,
#210,#211,#212,#213,#198,#200,#195,#222,#219,#221,#223,#217,#216,#220,#192,#209);
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);
function Win_KoiConvert(const St: string): string;
var i: integer;
begin
Result:=St;
for i:=1 to Length(St) do
if St[i]>#127 then
Result[i]:=Win_KoiChars[St[i]];
end;
← →
N A N (2002-08-07 19:38) [4]Спасибо! а я вот тут написал только полностью не тестировал.
function Koi8rToWin1251(Const Koi8rStr: String; Var Win1251Str:String):Boolean;
Const
Koi8r = "юабцдефгхийклмнопярстужвьызшэщчъ";
Var
idx: Integer;
ChCode: Byte;
begin
Result:=False;
for idx:=1 to Length(Koi8rStr) do
begin
ChCode:=Ord(Koi8rStr[idx]);
case ChCode of
0..162,164..178,180..191: Win1251Str:=Win1251Str + Koi8rStr[idx];
163: Win1251Str:=Win1251Str + "
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c