Часто сайты возвращают ответ в кодировке 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, Истина);
Результат = Соответствие.Получить("Текст");
Возврат Результат;
КонецФункции
Орфографическая ошибка в перемешку: перемешку
ПараметрыАутентификацииНаСайте (БСП)
Загрузка курсов валют с сайта РБК
АвторизоватьНаСайтеПоддержкиПользователей (БСП)
СлужебнаяURLДляПереходаНаСтраницуИнтегрированногоСайта (БСП)
#1, 20 марта 2024 10:37
а если сразу было сделать простую структуру типа
С = Новый Структура ("Текст", <ТекстЮникод>);
далее сделать строку json
потом json перевести в структуру обратно
и на выходе взять значение по ключу структуры?