Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 168
от 01.07.2005, 00:40

Администратор:Калашников О.А.
В номере:Вопросов: 1, Ответов: 3


Вопрос № 22630: Здравствуйте уважаемые. Есть такой вопрос - я с помощью компонента NMHTTP (это стандартный коипонент с вкладки FastNet) получаю страницу из инета. Но она в кодировке KOI8-R. И естественно в Виндах я вижу кракозябры. Чем ее можно декодировать в об...

Вопрос № 22.630
Здравствуйте уважаемые.
Есть такой вопрос - я с помощью компонента NMHTTP (это стандартный коипонент с вкладки FastNet) получаю страницу из инета. Но она в кодировке KOI8-R. И естественно в Виндах я вижу кракозябры. Чем ее можно декодировать в обычный виндовозный стандарт.
Отправлен: 25.06.2005, 11:13
Вопрос задал: Voituk Alexander (статус: 8-ой класс)
Всего ответов отправлено: 3

Отвечает: Gin
Здравствуйте, Voituk Alexander!

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;
Ответ отправил: Gin (статус: 10-ый класс)
Отправлен: 25.06.2005, 13:37
Оценка за ответ: 5
Комментарий оценки:
Отлично, знать бы еще где эти таблицы можно взять :)

Отвечает: Витомский Вадим Викторович
Здравствуйте, Voituk Alexander!
Я пользують следующим модулем, входящим в комплект Syn Text Editor (с соответствующими изменениями)

Приложение:

Ответ отправил: Витомский Вадим Викторович (статус: 1-ый класс)
Отправлен: 25.06.2005, 16:55

Отвечает: sir henry
Здравствуйте, Voituk Alexander!
Создайте массив из двух столбцов. Первый - русские буквы в виндовой кодировке, второй - в кодировке KOI8-R. Считываете файл посимвольно и ищете и подставляете соответствующий символ с найденым индексом из первого столбца. Это именно перекодировка.
Может быть у этого компонента есть какое-то свойство автоматом перекодировать, тогда его надо найти (внимательно прочесть хелп), т.к. я его не знаю.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 27.06.2005, 06:22


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться
Вспомнить пароль

В избранное