Как вывести в textarea коды эмоджи вместо изображения
Из базы данных прилетает строка содержащая коды эмоджи. Когда вывожу эту строку в textarea то все смайлики преобразовываются в катринки. Как мне лучше сделать что бы они не преобразовывались а отображался именно код эмоджи?
Ответы (1 шт):
Автор решения: vsemozhetbyt
→ Ссылка
Если я правильно понял, то преобразовать строчку можно так:
const characters = '???';
const codes = Array.from(characters, char => char.codePointAt(0)).join('\n');
console.log(codes);
Или, если вам нужно hex-представление, совместимое с JS литералами, можно так:
const characters = '???';
const codes = Array.from(characters, char => `\\u{${char.codePointAt(0).toString(16)}}`).join('\n');
console.log(codes);
Вариант с частичным преобразованием только эмодзи:
const str = 'a?b\n-?-\n*?*';
const strWithCodes = str.replace(
/\p{Emoji_Presentation}/gu,
char => `\\u{${char.codePointAt(0).toString(16)}}`
);
console.log(strWithCodes);