Преобразовать UNICODE ответ с Сайта

ProxyInspector 20 3

Часто сайты возвращают ответ в кодировке UNICODE, при этом в ответе встречаются текст в кодировке UTF-16 и UTF-8 прочитать подобный текст для 1С - большая проблема

//Отдельные сайты шлют ответы в перемешку UTF-16 и UTF-8 
//Например 		"%u041F%20%3A TEST"
//Надо сделать 	"%u041F%u0020%u003A TEST"
Функция ПреобразоватьUnicode(Unicode) Экспорт
	
	СтрUnicode = "";
	
	МассивПодстрок = СтрРазделить(Unicode,"%",Ложь);
	Для Каждого Подстрока Из МассивПодстрок Цикл
		Если Сред(Подстрока,1,1) = "u" Тогда 		//Это UTF-16
			СтрUnicode = СтрUnicode + "%" + Подстрока;
			Продолжить;
		Иначе										//Это UTF-8
			ПервыеДваСимвола = Сред(Подстрока,1,2);
			ПоследниеСимволы = Сред(Подстрока,3);
			Подстрока = "u00" + ПервыеДваСимвола + ПоследниеСимволы;
			СтрUnicode = СтрUnicode + "%" + Подстрока;
		КонецЕСли;
	КонецЦикла;
	
	СтрUnicode  = СтрЗаменить(СтрUnicode,"%","\");		//Подготовим для JSON
		
	ЧтениеJSON = Новый ЧтениеJSON;		
	
	Стр = "{""Текст"":"""+СтрUnicode + """}";
	
	ЧтениеJSON.УстановитьСтроку(Стр);
	
    Соответствие    =  ПрочитатьJSON(ЧтениеJSON, Истина);
    Результат    = Соответствие.Получить("Текст");
	
	Возврат Результат;
КонецФункции
0
Орфографическая ошибка в перемешку: перемешку

См. также

Редакторам сайта

АдресСайта (БСП)

ПараметрыАутентификацииНаСайте (БСП)

Загрузка курсов валют с сайта РБК

АвторизоватьНаСайтеПоддержкиПользователей (БСП)

СлужебнаяURLДляПереходаНаСтраницуИнтегрированногоСайта (БСП)

НавигационнаяСсылкаВебСайта (БСП)

ФоновоеЗаданиеЗагрузкиКлассификатораАдресовССайта (БСП)

Модератору