如何发现未知字符的Unicode代码点和UTF-8编码值?

时间:2011-08-23 06:26:55

标签: java unicode character-encoding

我正在对来自网络的内容进行文本挖掘。我想转换很多字符以执行更好的分类(例如:&nbsp到空格。)

问题是我有时会得到一些未知的字符,我想发现它的Unicode代码点和UTF-8表示。

我想知道是否有一些在线工具可以通知这个或程序。

目前,我正在尝试发现我找到的换行符,但与正则表达式中的\n\s不匹配。在过去的这段时间里,我遇到了& nbsp。

的麻烦

我不知道是什么,我想知道是否有办法发现。

personagens 之后,此处显示字符,但只能查看原始代码而无需格式化。

"personagens "

2 个答案:

答案 0 :(得分:2)

根据评论,您似乎需要知道某些字符的Unicode代码点或其UTF-8表示。

您可以使用the character inspector application编写的McDowell来确定Unicode代码点以及UTF-8表示形式,这是StackOverflow的用户之一。一旦粘贴了邮件内容,就需要在应用程序中将字符集设置为UTF-8。

您还可以使用Java API的String类通过codePointAt方法获取字符串中字符的原始代码点。请注意,如果将String转换为char数组,则该数组将包含UTF-16编码字符;虽然如果你打算调用Character.codePointAt方法,这很好,你必须注意确保你处理低代理。

答案 1 :(得分:1)

运行uniquote program

$ 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}'