Синтаксис: ПереобразоватьЮникод(Строка) Параметры: Строка (обязательный) Тип: Строка. Исходная строка. Возвращаемое значение: Тип: Строка. Строка обработанных символов. Описание: Возвращает преобразованную строку из формата Unicod для русских символов. Символы " № % \ в русской раскладке не поддерживаются.. хотя их некоторые аналоги в английской поддерж. Символы не в Unicode остаются как есть. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Функция ПереобразоватьЮникод(Строка) Экспорт
ГотововаяСтрока = "" ;
МасРус = Новый Массив(66) ;
МасРус[0]="А"; МасРус[1]="Б"; МасРус[2]="В"; МасРус[3]="Г"; МасРус[4]="Д"; МасРус[5]="Е";
МасРус[6]="Ё"; МасРус[7]="Ж"; МасРус[8]="З"; МасРус[9]="И"; МасРус[10]="Й"; МасРус[11]="К";
МасРус[12]="Л"; МасРус[13]="М"; МасРус[14]="Н"; МасРус[15]="О"; МасРус[16]="П"; МасРус[17]="Р";
МасРус[18]="С"; МасРус[19]="Т"; МасРус[20]="У"; МасРус[21]="Ф"; МасРус[22]="Х"; МасРус[23]="Ц";
МасРус[24]="Ч"; МасРус[25]="Ш"; МасРус[26]="Щ"; МасРус[27]="Ъ"; МасРус[28]="Ы"; МасРус[29]="Ь";
МасРус[30]="Э"; МасРус[31]="Ю"; МасРус[32]="Я";
МасРус[33]="а"; МасРус[34]="б"; МасРус[35]="в"; МасРус[36]="г"; МасРус[37]="д"; МасРус[38]="е";
МасРус[39]="ё"; МасРус[40]="ж"; МасРус[41]="з"; МасРус[42]="и"; МасРус[43]="й"; МасРус[44]="к";
МасРус[45]="л"; МасРус[46]="м"; МасРус[47]="н"; МасРус[48]="о"; МасРус[49]="п"; МасРус[50]="р";
МасРус[51]="с"; МасРус[52]="т"; МасРус[53]="у"; МасРус[54]="ф"; МасРус[55]="х"; МасРус[56]="ц";
МасРус[57]="ч"; МасРус[58]="ш"; МасРус[59]="щ"; МасРус[60]="ъ"; МасРус[61]="ы"; МасРус[62]="ь";
МасРус[63]="э"; МасРус[64]="ю"; МасРус[65]="я";
МасКод = Новый Массив(66) ;
МасКод[0]="0410"; МасКод[1]="0411"; МасКод[2]="0412"; МасКод[3]="0413"; МасКод[4]="0414"; МасКод[5]="0415";
МасКод[6]="0401"; МасКод[7]="0416"; МасКод[8]="0417"; МасКод[9]="0418"; МасКод[10]="0419"; МасКод[11]="041A";
МасКод[12]="041B"; МасКод[13]="041C"; МасКод[14]="041D"; МасКод[15]="041E"; МасКод[16]="041F"; МасКод[17]="0420";
МасКод[18]="0421"; МасКод[19]="0422"; МасКод[20]="0423"; МасКод[21]="0424"; МасКод[22]="0425"; МасКод[23]="0426";
МасКод[24]="0427"; МасКод[25]="0428"; МасКод[26]="0429"; МасКод[27]="042A"; МасКод[28]="042B"; МасКод[29]="042C";
МасКод[30]="042D"; МасКод[31]="042E"; МасКод[32]="042F";
МасКод[33]="0430"; МасКод[34]="0431"; МасКод[35]="0432"; МасКод[36]="0433"; МасКод[37]="0434"; МасКод[38]="0435";
МасКод[39]="0451"; МасКод[40]="0436"; МасКод[41]="0437"; МасКод[42]="0438"; МасКод[43]="0439"; МасКод[44]="043A";
МасКод[45]="043B"; МасКод[46]="043C"; МасКод[47]="043D"; МасКод[48]="043E"; МасКод[49]="043F"; МасКод[50]="0440";
МасКод[51]="0441"; МасКод[52]="0442"; МасКод[53]="0443"; МасКод[54]="0444"; МасКод[55]="0445"; МасКод[56]="0446";
МасКод[57]="0447"; МасКод[58]="0448"; МасКод[59]="0449"; МасКод[60]="044a"; МасКод[61]="044b"; МасКод[62]="044c";
МасКод[63]="044d"; МасКод[64]="044E"; МасКод[65]="044F";
тмпСтрока = "" ;
Для Счетчик = 1 По СтрДлина(Строка) Цикл
Если Лев(Строка, 1) = "\" Тогда
Если Лев(Строка, 2) = "\u" Тогда
тмпСтрока = Прав(Лев(Строка, 6),4) ;
Если МасКод.Найти(тмпСтрока) = Неопределено Тогда
СтрокаЗамены = Прав(тмпСтрока, 1) ;
тмпСтрока = СтрЗаменить(тмпСтрока,СтрокаЗамены,ТРег(СтрокаЗамены));
Если МасКод.Найти(тмпСтрока) = Неопределено Тогда
// Сообщить("Код символа не найден: " + тмпСтрока) ;
Иначе
ГотововаяСтрока = ГотововаяСтрока + МасРус[МасКод.Найти(тмпСтрока)] ;
КонецЕсли;
Иначе
ГотововаяСтрока = ГотововаяСтрока + МасРус[МасКод.Найти(тмпСтрока)] ;
КонецЕсли;
Строка = Прав(Строка, (СтрДлина(Строка)-6)) ;
Иначе
Строка = Прав(Строка, (СтрДлина(Строка)-2)) ;
КонецЕсли;
Иначе
ГотововаяСтрока = ГотововаяСтрока + Лев(Строка, 1) ;
Строка = Прав(Строка, (СтрДлина(Строка)-1)) ;
КонецЕсли;
КонецЦикла;
Возврат ГотововаяСтрока ;
КонецФункции
Но если у вас версия предприятия, поддерживающая JSON (8.3.6 и выше.. по-моему) , можно так
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Строка);