Гугл скрипт связан вебхуком с телеграм ботом. Я хочу, чтобы сообщение из бота разбивалось на нужные мне куски и отправлялось в гугл таблицу. Проблема возникает с извлечением эмодзи
var contents = JSON.parse(e.postData.contents);
var text = contents.message.text
var textar = text.split("");
var sheet = SpreadsheetApp.openById(ssId);
sheet.getSheetByName(sheetName).appendRow([text,textar[4]]);
Таким образом мне приходит оригинальный текст + конкретный символ(на котором обязательно будет эмодзи). Однако в таблице появляется "?", хотя в соседней ячейке эмодзи прекрасно отображается в рамках всего сообщения. Как изменить код, чтобы скрипт верно отправлял на запись именно эмодзи и не терял его?
text.split("");
правильно разбивает только те строки, которые состоят из юникод-символов, закодированных двумя байтами в кодировке UTF-16 (code unit). Эмодзи, как правило, кодируются четырмя байтами (2 code units), поэтому разбиваются на две части так называемой суррогатной пары, каждая из которых не может быть самостоятельным символом и представляется знаком вопроса при отображении. Правильная разбивка может быть сделана при помощи [...text]
выражения, так как в современном JavaScript строка поддерживает протокол итерации, который разбивает её на символы, независимые от кодировки (code points). Поэтому попробуйте:
var textar = [...text];
Подробнее можно почитать:
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) – Joel on Software
What every JavaScript developer should know about Unicode
JavaScript has a Unicode problem · Mathias Bynens
Unicode-aware regular expressions in ES2015 · Mathias Bynens
ES6 Strings (and Unicode, ❤) in Depth
Jonathan New | "
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не буду здесь приводить тонны своего кода, покажу на примере в чём проблема
я начинающий веб-разработчик и на данный момент прохожу тестовое задание для вступления в компаниюСуть проблемы заключается в том, что тест...
Подскажите где найти пример как сделать Save to Drive Button на React, никак не могу найтиСпасибо