Javascript неверно декодирует юникод

#javascript #node.js #electron

Вопрос:

Я пытаюсь получить идентификатор значка с потрясающим шрифтом. Он расположен в ::before стиле. Когда я использую

 window.getComputedStyle(document.querySelector("[id='5']"), '::before').getPropertyValue('content')
 

чтобы получить его, вместо "f458" того , """" чтобы вернуть.

Я предполагаю, что JavaScript пытается преобразовать код в символ, но терпит неудачу. Есть ли какой-нибудь способ предотвратить это?

Комментарии:

1. f458 вы говорите? посмотрите на цифры в маленькой коробочке — это f458 — похоже на успех

2. @Браво, как вы указали, эти номера есть, но любая попытка получить их напрямую, а не просто коробку с номерами, потерпела неудачу.

3. какова ваша попытка?

Ответ №1:

Декодирование работает, проблема в шрифте. Если этот символ не соответствует используемому вами шрифту, он будет искажен или в виде значения юникода в поле.

Поскольку он находится в частной области, в зависимости от шрифта он может быть преобразован в глиф, исковеркан или просто пуст/пробел.

Проверка шрифта в потрясающем чит-листе, для которого он выглядит как значок quidditch .

Возможно, где-то в Интернете есть карта изображений/svg (а если нет, то просто скопируйте и вставьте локально и создайте ее), Которую вы можете использовать, если сам шрифт не подходит или вы декодируете в проблемной среде (не можете установить шрифты и т. Д.).

Комментарии:

1. Я придумал, как добраться "\u0022\uf458\u0022" . Есть ли какой-нибудь способ получить середину \uf458 в виде простой строки?

2. Понял, спасибо за вашу помощь. Приму ваш ответ, как только смогу 🙂