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