Главная страница
    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.045 c
15-1186739788
Сергей М.
2007-08-10 13:56
2007.09.09
За что я уважаю или не уважаю Styx


15-1186646028
Andy BitOff (ppc)
2007-08-09 11:53
2007.09.09
Футболки !?


15-1186921982
Faiwer
2007-08-12 16:33
2007.09.09
Помогите распаковать ехе-тник для перевода


2-1186672568
1c_user
2007-08-09 19:16
2007.09.09
Не показывается картинка на форме с помощью loadfromfile. почему?


2-1187163222
grust
2007-08-15 11:33
2007.09.09
Оперативка





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