Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как преобразовать значение из JSON в HTML dec ?

Как преобразовать значение из JSON в HTML dec ?
Я
   fly7
 
16.08.21 - 11:34
От телеграм приходить вебхук с сообщением, там в поле text такое значение "\ud83e\uddfe", это эмодзи киви https://emojigraph.org/ru/kiwi-fruit/
как эту строку преобразовать в "🥝" ? это HTML dec
   ДенисЧ
 
1 - 16.08.21 - 11:36
   fly7
 
2 - 16.08.21 - 11:58
я бы хотел программно из строки "\ud83e\uddfe" получить "🥝" )
   Asmody
 
3 - 16.08.21 - 13:05
   Вафель
 
4 - 16.08.21 - 13:45
Hex to dec или 16 в 10 это задание для 1 класса.
А если с гуглом ...
   Fragster
 
5 - 16.08.21 - 14:45
(4) особенно если не надо преобразовывать
   MM
 
6 - 16.08.21 - 14:49
https://ru.wikipedia.org/wiki/UTF-16#Декодирование
тут есть подсказка, но в 1С сложновато с битовыми операциями
   Вафель
 
7 - 16.08.21 - 14:59
чтение жсон само все умеет
   MM
 
8 - 16.08.21 - 16:05
(7) Вот сомневаюсь восьмёрка не умеет работать с кодовыми точками юникод за пределами нулевой плоскости.
Попробуйте в 8.3 вставить символ "🥝".
   fly7
 
9 - 16.08.21 - 16:30
(7) 1с такие символы при чтение жсона записывает в виде ??
   fly7
 
10 - 16.08.21 - 16:32
(6) мне можно и на питоне, чот полдня гуглю не могу сообразить как сконвертировать
на этой странице в низу есть искомое число 129373, при кодировке UTF-32BE но не могу к нему придти )
   fly7
 
11 - 16.08.21 - 16:32
   MM
 
12 - 16.08.21 - 17:41
(10) В (6) приведён алгоритм, но 1С всё равно не сможет работать с таким символом. Для проверки скопируйте сообщение из (8) в текстовый документ 1С и заметите, что киви пропал.
   polosov
 
13 - 16.08.21 - 17:54
(12) Да ну
        ЧтениеJSON = Новый ЧтениеJSON;
    Стр = "{""F"":""\uD83E\uDD5D""}";
    ЧтениеJSON.УстановитьСтроку(Стр);
    S =  ПрочитатьJSON(ЧтениеJSON);
    Сообщить(S.F);
   Вафель
 
14 - 16.08.21 - 18:04
Редакторы и поля ввода не умеют отображать возможно. Но внутри строки вполне может храниться
   MM
 
15 - 16.08.21 - 18:09
(13) Проверил похоже не срабатывает буфер обмена, в текстовое поле и документ из кода выводится киви.
Эти возможности зависят от версии ICU, до того 1С его обновило с суррогатными парами были проблемы.
   dmt
 
16 - 16.08.21 - 19:08
(15) просто квадрат выводится
   ДедМорроз
 
17 - 16.08.21 - 21:55
Код символа что в json что в 1с это два байта.
Поэтому,расширенная кодовая страница отображается в виде двух двухбайтовых символов,которые определяют номер символа расширенной страницы.
Там нужно взять остатки от деления (в 1с это %) и умножить на число,потом это число вывести.
Что может быть сложного и о каких битовых операциях речь ?

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.