Главная страница
    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.062 c
15-1186779156
Petr V. Abramov
2007-08-11 00:52
2007.09.09
я в шоке от таких запросов


15-1186660790
ferr
2007-08-09 15:59
2007.09.09
Жесть =)


15-1186539533
Slider007
2007-08-08 06:18
2007.09.09
С днем рождения ! 8 августа 2007 среда


15-1186904367
ctudent
2007-08-12 11:39
2007.09.09
В чём может быть причина с DVD?


15-1187114748
anton773
2007-08-14 22:05
2007.09.09
Куда делось событие OnFileDownload у webbrowsera





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский