gifts2017

Обработка для перекодировки текста в UTF-8 HEX

Опубликовал yurok kozorez (kozorez) в раздел Обработки - Универсальные обработки

Внешняя обработка для конвертации русского текста в UTF-8 HEX, для отправки POST запросов.

Возникла необходимость в POST запросе отправлять строки кирилитического текста, сервер принимал только в UTF-HEX кодировке.

Облазил весь интернет, не нашёл рабтающей обработки.

Написал свою, конвертирует только русские буквы и пробел.

Скачать файлы

Наименование Файл Версия Размер
Текст в UTF-8 2
.ert 8,50Kb
16.05.16
2
.ert 8,50Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. andrewks 16.05.16 16:15
можно заюзать javascript с его функцией encodeURIComponent()

нативная функция для 1с также представлена здесь:
http://wiki.bitel.ru/index.php/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D0%B1%D1%80%­D0%B0%D1%89%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BA_%D0%B1%D0%B8%D0%B­B%D0%BB%D0%B8%D0%BD%D0%B3%D1%83_%D0%B8%D0%B7_1%D0%A1_v.7.7
2. yurok kozorez (kozorez) 17.05.16 03:45
(1) andrewks, А вы сами пробовали функцию по Вашей ссылке? Если нужно перекодировать в UTF-8?
Функция по вашей ссылке при строке - "АБэцЮюЁё"
возвращает - "%C0%C1%FD%F6%DE%FE%A8%B8"
моя функция возвращает "%D0%90%D0%91%D1%8D%D1%86%D0%AE%D1%8E%D0%81%D1%91"
Мне для POST запроса нужен был именно UTF-8.
Внешние функциии стараюсь не использовать, тем более что, сама функция перекодировки помещается в одну строку....
Если несложно приведите пример функции с javascript, думаю многим бы пригодилось.
3. andrewks 17.05.16 12:39
(2)
Если несложно приведите пример функции с javascript, думаю многим бы пригодилось.


Функция EncodeURI(URI,StrongEncode=0)
	
	Попытка
		JS=СоздатьОбъект("MSScriptControl.ScriptControl");
		JS.Language="jscript";
		JS.Timeout=-1;
	Исключение
		ТекстОшибки=ОписаниеОшибки();
		Сообщить("Не удалось создать объект MSScriptControl.ScriptControl","!");
		Сообщить("Описание ошибки: "+ТекстОшибки,"!");
		Возврат "";
	КонецПопытки;
	
	Попытка
		
		СтрКода="function EncodeURI_1(URI,StrongEncode)
		|{
		|   if (StrongEncode) return(encodeURIComponent(URI)) 
		|   else return(encodeURI(URI));
		|}
		|";
	
	JS.AddCode(СтрКода);
	EncodedURI=JS.Modules("Global").CodeObject.EncodeURI_1(URI,StrongEncode);
	Исключение
		ТекстОшибки=ОписаниеОшибки();
		Сообщить("Произошла ошибка при отработке скрипта!","!");
		Сообщить("Описание ошибки: "+ТекстОшибки,"!");
		Возврат "";
	КонецПопытки;
	Возврат EncodedURI;
КонецФункции

...Показать Скрыть
4. yurok kozorez (kozorez) 17.05.16 15:35
(3) andrewks, Функция обрабатывает все правильно. Спасибо.
Если у кого есть еще нормально работающее решение, выкладывайте. :)
А то сам час потратил на то чтобы найти, полчаса на то чтобы понять что, всё что нашел не работает. И ещё полчаса разобраться с кодировкой и написать обработку.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа