Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Универсальное и быстрое перекодирование строки из кодировок ANSI, KOI8-R, KOI8-U, OEM-DOS, ISO

Delphi , Синтаксис , Преобразования

Универсальное и быстрое перекодирование строки из кодировок ANSI, KOI8-R, KOI8-U, OEM-DOS, ISO

Автор: VEG
WEB-сайт: http://delphibase.endimus.com

  { **** UBPFD *********** by delphibase.endimus.com ****  >> Универсальное и быстрое перекодирование строки из кодировок  ANSI, KOI8-R, KOI8-U, OEM/DOS, ISO    В этой функции используется элементарный алгоритм, который по скорости работы  опережает свои аналоги, и позволяет перекодировать текст из различных кодировок.  Для перекодирования строки используется универсальная функция ConvertEncoding,  где в качестве первого параметра выступает строка, которую необходимо  перекодировать, а в качестве второго - матрица перекодирования, которая  определяет из какой кодировки в какую необходимо перекодировать данную строку.    В этой версии имеется 6 видов матриц перекодирования (тип TCodeMatrix):  1. cmAnsiToKoi8R - перекодирует строку из кодировки ANSI в кодировку KOI8-R  2. cmAnsiToKoi8U - перекодирует строку из кодировки ANSI в кодировку KOI8-U  3. cmKoi8RToAnsi - перекодирует строку из кодировки KOI8-R в кодировку ANSI  4. cmKoi8UToAnsi - перекодирует строку из кодировки KOI8-U в кодировку ANSI  5. cmOemDosToAnsi - перекодирует строку из кодировки OEM/DOS в кодировку ANSI  6. cmIsoToAnsi - перекодирует строку из кодировки ISO в кодировку ANSI    Зависимости: System;  Автор:       VEG, veg@tut.by, Республика Беларусь - Слуцк  Copyright:   ©VEG, 31.10.2003  Дата:        31 октября 2003 г.  ***************************************************** }    type // Тип матриц перекодировки    TCodeMatrix = array[1..255] of char;  const // Матрицы перекодировки    FirstCodes =      #1#2#3#4#5#6#7#8#9#10#11#12#13#14#15#16#17#18#19#20#21#22#23#24#25#26#27#28+     #29#30#31' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^' +      '_`abcdefghijklmnopqrstuvwxyz{|}~';    cmAnsiToKoi8R: TCodeMatrix = FirstCodes // ver 1.0, ©VEG, 31.10.2003    + 'ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—˜™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·Ј—є»јЅѕїбвчздецъй'      + 'клмнопртуфхжигюыэящшьасБВЧЗДЕЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС';    cmAnsiToKoi8U: TCodeMatrix = FirstCodes // ver 0.8, ©VEG, 31.10.2003    + 'ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—˜™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·Ј—є»јЅѕїбвчздецъй'      + 'клмнопртуфхжигюыэящшьасБВЧЗДЕЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС';    cmKoi8RToAnsi: TCodeMatrix = FirstCodes // ver 1.0, ©VEG, 31.10.2003    + '-¦-¬L-++T++---¦¦---?¦•v??? ?°?·?=¦-ёг㬬¬LLL---¦¦¦¦Ё¦¦TTT¦¦¦+++©юабцдефгх'      + 'ийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ';    cmKoi8UToAnsi: TCodeMatrix = FirstCodes // ver 1.0, ©VEG, 31.10.2003    + '-¦-¬L-++T++---¦¦---?¦•v??? ?°?·?=¦-ёєгії¬LLL-ґў¦¦¦¦ЁЄ¦ІЇT¦¦¦+ҐЎ©юабцдефгх'      + 'ийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ';    cmOemDosToAnsi: TCodeMatrix = FirstCodes // ver 1.0, ©VEG, 31.10.2003    + 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп---¦+¦¦¬¬¦¦¬---¬L+T+-+¦¦L'      + 'г¦T¦=+¦¦TTLL-г++----¦¦-рстуфхцчшщъыьэюяЁёЄєЇїЎў°•·v№¤¦ ';    cmIsoToAnsi: TCodeMatrix = FirstCodes // ver 1.0, ©VEG, 31.10.2003    + '????????????????????????˜??????? ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШ'      + 'ЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ';    function ConvertEncoding(sIn: string; sCoding: string): string;  //sIn - строка для перекодирования  //sCoding - матрица для перекодирования  //result - полученная перекодированная строка  var    iFtd: integer;  begin    for iFtd := 1 to length(sIn) do      result := result + sCoding[ord(sIn[iFtd])];  end; // ver 1.0, (C)Vrublevsky Evgeny Gennadyevich (BELARUS/SLUTSK), 31.10.2003

Пример использования:

  var    sOut: string;  begin    sOut := ConvertEncoding(ConvertEncoding('Тест!', cmAnsiToKoi8R), cmKoi8RToAnsi);  end;

Статья Универсальное и быстрое перекодирование строки из кодировок ANSI, KOI8-R, KOI8-U, OEM-DOS, ISO раздела Синтаксис Преобразования может быть полезна для разработчиков на delphi & pascal.


Комментарии и вопросы


:: 2010-06-28 11:42:47 :: re:Универсальное и быстрое перекодирование строки из кодировок ANSI, KOI8-R, KOI8-U, OEM-DOS, ISO

пользователь: Seka.

Супер! Коротко и быстро.


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Преобразования ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-04-26 19:56:12
2024-04-27 00:10:26/0.0048949718475342/2