|
Преобразование адресной строки с кириллицей в адресную строку для браузера | ☑ | ||
---|---|---|---|---|
0
picom
16.08.13
✎
15:05
|
На УФ есть поле HTML
в него надо загнать адресную строку http://yandex.ru/yandsearch?text=МИСТА&lr=66 т.е. кириллицу надо преобразовать в http://yandex.ru/yandsearch?text=миста&lr=66 Как? |
|||
1
picom
16.08.13
✎
15:05
|
преобразовать в "%D0%BC%D0%B8%D1%81%D1%82%D0%B0&lr"
|
|||
2
picom
16.08.13
✎
15:45
|
up
в шапке код строка автоматом преобразовалась поэтому вы не с первого раза поймете вопрос ) |
|||
3
bborisko
16.08.13
✎
15:58
|
wiki:URL#.D0.9A.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_URL
Есть про Кодирование URL |
|||
4
picom
19.08.13
✎
08:48
|
Ну так как преобразовать то ?
|
|||
5
Defender aka LINN
19.08.13
✎
08:55
|
(4) "Такое преобразование происходит в два этапа: сначала каждый символ кириллицы кодируется в Юникоде (UTF-8) в последовательность из двух байтов, а затем каждый байт этой последовательности записывается в шестнадцатеричном представлении:"
|
|||
6
Infsams654
19.08.13
✎
09:00
|
// функция возвращает строку urlencoded
// Функция UrlEncode(стр) HEX = Новый Массив(); Для сч = 48 По 57 Цикл HEX.Добавить(Символ(сч)); КонецЦикла; Для сч = 65 По 70 Цикл HEX.Добавить(Символ(сч)); КонецЦикла; рез=""; Для сч = 1 По СтрДлина(стр) Цикл чар = Сред(стр, сч, 1); Если (чар >= "a") И (чар <= "z") Тогда рез = рез + чар; Продолжить; КонецЕсли; Если (чар >= "A") И (чар <= "Z") Тогда рез = рез + чар; Продолжить; КонецЕсли; Если (чар >= "0") И (чар <= "9") Тогда рез = рез + чар; Продолжить; КонецЕсли; Если чар = "-" Тогда рез = рез + чар; Продолжить; КонецЕсли; Если чар = "_" Тогда рез = рез + чар; Продолжить; КонецЕсли; Если чар = "=" Тогда рез = рез + чар; Продолжить; КонецЕсли; Если чар = "&" Тогда рез = рез + чар; Продолжить; КонецЕсли; Если чар = "." Тогда рез = рез + чар; Продолжить; КонецЕсли; Если чар = "#" Тогда рез = рез + чар; Продолжить; КонецЕсли; кс = КодСимволаASCII(чар); рез = рез+ "%" + HEX[Цел(кс/16)] + HEX[Цел(кс % 16)]; КонецЦикла; Возврат рез; КонецФункции // возвращает код символа в ASCII // Функция КодСимволаASCII(Символ) КодUNICODE = КодСимвола(Символ); Если ((КодUNICODE > 1039) И (КодUNICODE < 1104)) Тогда Возврат (КодUNICODE - 848); ИначеЕсли КодUNICODE = 8470 Тогда Возврат 185; ИначеЕсли КодUNICODE = 1105 Тогда Возврат 184; ИначеЕсли КодUNICODE = 1025 Тогда Возврат 168; Иначе Возврат КодUNICODE; КонецЕсли; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |