Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];

Вниз

строка   Найти похожие ветки 

 
Swest   (2007-08-18 01:21) [0]

Мастера помогите привести строку к божескому виду в ansi

G:/%D0%9C%D1%83%D0%B7%D1%8B%D0%BA%D0%B0/%D0%9A%D0%B8%D0%BF%D0%B5%D0%BB%D0%BE%D0%B2/%D0%A0%D0%B5%D0%BA%D0%B8%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD/02.%20%D0%94%D1%8B%D1%85%D0%B0%D0%BD%D1%8C%D0%B5%20%D1%82%D1%8C%D0%BC%D1%8B.mp3


 
{RASkov} ©   (2007-08-18 03:39) [1]

file://localhost/G:/Музыка/Кипелов/Реки%20времен/02.%20Дыханье%20тьмы.mp3
%20 - это пробелы :)


 
Swest   (2007-08-18 08:34) [2]

Спасибо , а можно пример кода смены кодировки .


 
Dimaxx ©   (2007-08-18 12:55) [3]

Это не кодировка. Это просто символы представлены ASCII-кодами. Символ % с двумя цифрами в 16-ричном представлении.

Пример кода: Простой перебор всех символов строки. При нахождении % считываем два следующих за ним символа, добавляем $ и преобразовываем, например, так: Chr(StrToInt("$D0")). На выходе получим символ.


 
Anatoly Podgoretsky ©   (2007-08-18 12:58) [4]

Это и так в божеском виде, это URL encoded


 
{RASkov} ©   (2007-08-18 15:09) [5]

Накидал процедурку, но она не верно работает..... т.е. верно, но кодировку нужно подправить... См ниже.

function ConverStr(const S: String): String;
function HexCHToStrCH(const HexCH: String): String;
begin
  try
   Result:=StringReplace(HexCH, "%", "$", [rfReplaceAll, rfIgnoreCase]);
   Result:=CHR(StrToInt(Result));
  except
   Result:=HexCH;
  end;
end;
var N: Integer; C: String;
begin
 Result:=S;
 repeat
  N:=Pos("%", Result);
  if N=0 then Break;
  C:=HexCHToStrCH(Copy(Result, N, 3));
  Delete(Result, N, 3);
  Insert(C, Result, N);
 until Pos("%", Result)=0;
end;
--------------------------------------------------------------
const MyCode: array [0..255] of Byte = (0, 1, 2, 3,....); //Расположи символы так как необходимо....

function ConverStr(const S: String): String;
function HexCHToStrCH(const HexCH: String): String;
begin
  try
   Result:=StringReplace(HexCH, "%", "$", [rfReplaceAll, rfIgnoreCase]);
   Result:=CHR(MyCode[StrToInt(Result)]);
  except
   Result:=HexCH;
  end;
end;
....


 
{RASkov} ©   (2007-08-18 15:16) [6]

Вот так даже лучше.... не нужен вызов StringReplace )
function ConverStr(const S: String): String;
function HexCHToStrCH(const HexCH: String): String;
begin
 try
  Result:=CHR(StrToInt(Result));
 except
  Result:=HexCH;
 end;
end;
var N: Integer; C: String;
begin
Result:=S;
repeat
 N:=Pos("%", Result);
 if N=0 then Break;
 C:=HexCHToStrCH(Copy(Result, N+1, 2));
 Delete(Result, N, 3);
 Insert(C, Result, N);
until Pos("%", Result)=0;
end;

Впрочем вот:
http://www.google.com/search?ie=UTF-8&hl=ru&q=%55%52%4C%20%65%6E%63%6F%64%65%20%2B%20%44%65%6C%70%68%69
http://tmbu.info/programming/delphi/urlencode-and-urldecode-in-delphi/


 
{RASkov} ©   (2007-08-18 15:58) [7]

Вот неудача...(
Я думал там по нижней ссылке именно то, что нужно(столько много кода) и с уже "нормальной" кодировкой, а вот только, что проверил ради интереса...
тоже самое, что и у меня в [5] :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.043 c
15-1186977771
sergeyst
2007-08-13 08:02
2007.09.09
Процедурку не оцените?


4-1174373132
maxistent
2007-03-20 09:45
2007.09.09
определитель номера


6-1168802216
K@KTUS
2007-01-14 22:16
2007.09.09
Как вытянуть из html-файла список всех ссылок и картинок


15-1187230220
Slider007
2007-08-16 06:10
2007.09.09
С днем рождения ! 16 августа 2007 четверг


2-1187084180
DagOT-R
2007-08-14 13:36
2007.09.09
Таймер - WTF??? Помогите разобраться с проблемой:





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский