Кодирование и декодирование кириллицы в Delphi для URL (URLDecode, URLEncode)

Давно что-то не было статей. В общем, исправляемся 🙂
В Delphi 6 был хороший компонентик — TNMURL, но начиная с Delphi 7 эти компоненты заменили Indy. И теперь, чтобы кодировать и декодировать кириллицу в Дельфи нужно облазить весь инет, если удастся найти нужные функции — они не будут работать у людей, которые используют Delphi 2007 и выше. Предлагаю вашему вниманию переписанный вариант этих функций.
Значит, выглядят они так:

Теперь переписаный вариант, который работает в Delphi XE (грубо говоря, переписывание заключалось в этом «String -> AnsiString, Char — AnsiChar, PChar — PAnsiChar»):

Использовать так:

Запись опубликована в рубрике Статьи по Delphi с метками , , , , , , . Добавьте в закладки постоянную ссылку.

14 комментариев на «Кодирование и декодирование кириллицы в Delphi для URL (URLDecode, URLEncode)»

  1. www говорит:

    Отличная статья!

  2. SV говорит:

    Под Delphi xe 2 не работает. Подскажите в чём могут быть проблемы?

  3. Владимир говорит:

    Под Delphi xe 3 то что доктор прописал, спасибо большое !

  4. Дмитрий говорит:

    Delphi XE.
    Всё работает. Спасибо.

  5. Ghoul говорит:

    Под Delphi 2010 замечательно работает версия для XE. Спасибо!

  6. Nikolas говорит:

    На Delphi XE10 ругается на строке:
    while GetCh(P, Ch) <> #0 do

    пишет:
    [dcc32 Error] Unit1.pas(177): E2012 Type of expression must be BOOLEAN

  7. TTT говорит:

    uses
    IdURI;

    ..
    begin
    S := TIdURI.URLEncode(str);
    //
    S := TIdURI.URLDecode(str);
    end;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *