Как обнаружить кодовую точку Unicode и кодированное значение UTF-8 неизвестного символа? - PullRequest
0 голосов
/ 23 августа 2011

Я занимаюсь интеллектуальным анализом контента, поступающего из Интернета.Есть много символов, которые я хочу преобразовать, чтобы выполнить лучшую классификацию (например: &nbsp в пробелы).

Проблема в том, что иногда я получаю некоторые неизвестные символы и хочу обнаружитьКод Unicode и его представление в UTF-8.

Я хочу знать, есть ли какой-нибудь онлайн-инструмент, который может сообщить об этом или программе.

В данный момент,Я пытаюсь найти найденный мной перенос строки , но он не совпадает с \n или \s из регулярного выражения.В прошлом у меня были проблемы с.

Я не знаю, что есть, и я хочу знать, есть ли способ обнаружить.

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

"personagens "

Ответы [ 2 ]

2 голосов
/ 23 августа 2011

Судя по комментариям, вам необходимо знать кодовые точки Unicode определенных символов или их представления UTF-8.

Вы можете использовать приложение инспектора символов МакДауэлл , который является одним из пользователей StackOverflow, чтобы определить кодовую точку Unicode, а также представления UTF-8.Вам нужно будет установить кодировку как UTF-8 в приложении, как только вы вставите содержимое сообщения.

Вы также можете использовать класс String Java API для получения необработанногокодовые точки символов в строке с помощью метода codePointAt.Обратите внимание, что если вы преобразуете String в массив char, он будет содержать символы в кодировке UTF-16;в то время как это нормально, если вы намереваетесь использовать метод Character.codePointAt, вы должны позаботиться о том, чтобы иметь дело с низким количеством суррогатов.

1 голос
/ 24 августа 2011

Запустите программу uniquote :

$ echo 'bád⁠⁠ƨtüff' | uniquote -x
b\x{E1}d\x{2060}\x{2060}\x{1A8}t\x{FC}\x{FB00}

$ echo 'bád⁠⁠ƨtüff' | uniquote -v
b\N{LATIN SMALL LETTER A WITH ACUTE}d\N{WORD JOINER}\N{WORD JOINER}\N{LATIN SMALL LETTER TONE TWO}t\N{LATIN SMALL LETTER U WITH DIAERESIS}\N{LATIN SMALL LIGATURE FF}

$ echo 'bád⁠⁠ƨtüff' | uniquote --html
bád⁠⁠ƨtüff

Вам не нужно использовать echo; Вы можете просто вырезать и вставить, а затем нажмите ^ D, когда вы закончите:

$ uniquote -v -
'bád⁠⁠ƨtüff'
^D
'b\N{LATIN SMALL LETTER A WITH ACUTE}d\N{WORD JOINER}\N{WORD JOINER}\N{LATIN SMALL LETTER TONE TWO}t\N{LATIN SMALL LETTER U WITH DIAERESIS}\N{LATIN SMALL LIGATURE FF}'
...