Как я могу найти код символа специального символа в текстовом редакторе?
При вставке текста из внешних источников в текстовый редактор (например, TextMate или Sublime Text 2) общая проблема заключается в том, что специальные символы также часто вставляются. Некоторые из этих символов отображаются отлично, но в зависимости от источника некоторые могут отображаться неправильно (обычно они отображаются как вопросительный знак с полем вокруг него).
Итак, это на самом деле 2 вопроса:
-
С учетом специального символа (например, или ♥) можно определить код символа UTF-8, используемый для отображения этого символа внутри текстового редактора, и/или преобразовать эти символы в коды символов?
-
Для тех "особо специальных" символов, которые появляются как мусор, есть ли способ выяснить, какая кодировка использовалась для отображения этого символа в исходном тексте, и могут ли эти символы каким-то образом преобразовываться в UTF- 8?
Ответы
Ответ 1
Мой любимый сайт для поиска персонажей fileformat.info. У них отличный поиск символов в Юникоде, который содержит много полезной информации о каждом персонаже и его различных кодировках.
Если вы видите вопросительный знак с полем, это означает, что вы вставили что-то, что невозможно интерпретировать, часто потому, что оно не является законным UTF-8 (не каждая последовательность байтов является законной UTF-8). Одна из возможностей заключается в том, что UTF-16 с режимом endian, который ваш редактор не ожидает. Если вы можете получить полный исходный источник в файл, команда file
часто является лучшим инструментом для определения кодировки.
Ответ 2
В & what Я построил инструмент, чтобы сосредоточиться на поиске символов. Он индексирует все таблицы сущностей Unicode и HTML, но также дополняет с помощью хакерских словарей и базу данных ключевых слов, которые я собрал, поэтому вы можете искать слова типа heart
, quot
, weather
, umlaut
, hash
, cloverleaf
и получить то, что вы хотите. Сосредоточив внимание на поиске, он избегает необходимости охоты вокруг страниц Юникода, что может расстраивать. Попробуйте.