Перекодировка строк из одной кодировки в другуюDelphi , Синтаксис , ПреобразованияПерекодировка строк из одной кодировки в другую
Автор: Default { **** UBPFD *********** by delphibase.endimus.com **** >> перекодировка строк из одной кодировки в другую // функция CodeConversion служит для перекодировки строки символов из // одной кодировки в другую кодировку; // параметры: SourceStr - исходная строка для перекодировки, // VectorCodeConv - вектор перекодировки; // Result - перекодированная строка; // Написана как альтернатива функции ConvertEncoding @VEG-а // Быстрее как минимум - приблизительно в 4 раза, // как максимум - приблизительно в 18 раз // (минимум - когда первый параметр перед передачей в подпрограмму // преобразовывается из типа String к типу PChar + результат // преобразовывается из типа PChar в тип String; // максимум - когда нет никаких преобразований String в PChar и обратно) Зависимости: Нет Автор: default Copyright: default(+VEG@-ие вектора перекодировок) Дата: 3 ноября 2003 г. ***************************************************** } function CodeConversion(const SourceStr, VectorCodeConv: PChar): PChar; asm // Вход: SourceStr --> EAX, VectorCodeConv --> EDX // Выход: Result --> EAX PUSH EBX XOR ECX, ECX XOR EBX, EBX @@Go: TEST BYTE PTR [EAX + ECX], -1 JZ @@Exit MOV BL, BYTE PTR [EAX + ECX] MOV BL, BYTE PTR [EDX + EBX - 1] MOV BYTE PTR [EAX + ECX], BL INC ECX JMP @@Go @@Exit: POP EBX end; Пример использования: var S: PChar; begin S := CodeConversion(CodeConversion('Тест!', cmAnsiToKoi8R), cmKoi8RToAnsi) end; Статья Перекодировка строк из одной кодировки в другую раздела Синтаксис Преобразования может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Преобразования ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |