![]() |
![]() |
|
URL encode | ☑ | ||
---|---|---|---|---|
1
lamme
18.02.11
✎
05:02
|
Надо преобразовать строку в URL
в этом примере - http://infostart.ru/public/70330/ текст кодируется сначала в URF8 - и только потом - в URL Надо - русский текст перегнать в URL - без промежуточного UTF. Если кому что понятно - хотел бы услышать ответ. Пример. Исходный текст: Адрес электронной почты (для связи с клиентами) При перекодировании (как в примере с infostart) получается: %D0%90%D0%B4%D1%80%D0%B5%D1%81%20%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9%20%D0%BF%D0%BE%D1%87%D1%82%D1%8B%20%28%D0%B4%D0%BB%D1%8F%20%D1%81%D0%B2%D1%8F%D0%B7%D0%B8%20%D1%81%20%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8%29 А надо бы: %C0%E4%F0%E5%F1%20%FD%EB%E5%EA%F2%F0%EE%ED%ED%EE%E9%20%EF%EE%F7%F2%FB%20(%E4%EB%FF%20%F1%E2%FF%E7%E8%20%F1%20%EA%EB%E8%E5%ED%F2%E0%EC%E8) |
|||
2
lamme
18.02.11
✎
05:15
|
все
нашел |
|||
3
lamme
18.02.11
✎
05:19
|
кому интересно будет
Функция КодСимволаASCII(Символ) КодUNICODE = КодСимвола(Символ); Если ((КодUNICODE > 1039) И (КодUNICODE < 1104)) Тогда Возврат (КодUNICODE - 848); ИначеЕсли КодUNICODE = 8470 Тогда Возврат 185; ИначеЕсли КодUNICODE = 1105 Тогда Возврат 184; ИначеЕсли КодUNICODE = 1025 Тогда Возврат 168; Иначе Возврат КодUNICODE; КонецЕсли; КонецФункции Функция URLEncode( value ) table = "%00%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10%11%12%13%14" + "%15%16%17%18%19%1A%1B%1C%1D%1E%1F%20%21%22%23%24%25%26%27%28" + "%29%2A%2B%2C%2D%2E%2F%30%31%32%33%34%35%36%37%38%39%3A%3B%3C" + "%3D%3E%3F%40%41%42%43%44%45%46%47%48%49%4A%4B%4C%4D%4E%4F%50" + "%51%52%53%54%55%56%57%58%59%5A%5B%5C%5D%5E%5F%60%61%62%63%64" + "%65%66%67%68%69%6A%6B%6C%6D%6E%6F%70%71%72%73%74%75%76%77%78" + "%79%7A%7B%7C%7D%7E%7F%80%81%82%83%84%85%86%87%88%89%8A%8B%8C" + "%8D%8E%8F%90%91%92%93%94%95%96%97%98%99%9A%9B%9C%9D%9E%9F%A0" + "%A1%A2%A3%A4%A5%A6%A7%A8%A9%AA%AB%AC%AD%AE%AF%B0%B1%B2%B3%B4" + "%B5%B6%B7%B8%B9%BA%BB%BC%BD%BE%BF%C0%C1%C2%C3%C4%C5%C6%C7%C8" + "%C9%CA%CB%CC%CD%CE%CF%D0%D1%D2%D3%D4%D5%D6%D7%D8%D9%DA%DB%DC" + "%DD%DE%DF%E0%E1%E2%E3%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF%F0" + "%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF"; result = ""; length = СтрДлина( value ); Для i = 1 По length Цикл symbol = Сред( value, i, 1 ); //code = КодСимвола( symbol ); code = КодСимволаASCII( symbol ); result = result + Сред( table, code*3 + 1, 3 ); КонецЦикла; Возврат result; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |