Ruby 我怎么知道这个角色是什么?

Ruby 我怎么知道这个角色是什么?,ruby,character-encoding,Ruby,Character Encoding,更新:显然这些是控制字符,而不是Unicode字符 我试图解析一个XML文件,该文件中有一个奇怪的字符,这使得它无效,并导致我的工具(Firefox、Nokogiri)抱怨 下面是这个角色在Firefox中的样子,以及当我复制并粘贴到Textmate中时的样子(很明显,我在OSX上) 我想知道这些字符是什么(例如十六进制/十进制代码),但我不知道该如何理解。你的屏幕截图很小,但Firefox示例中是否包含一个包含4个十六进制字符的字形?如果是,则为Unicode字符的代码号。你也可以在地图上搜寻

更新:显然这些是控制字符,而不是Unicode字符

我试图解析一个XML文件,该文件中有一个奇怪的字符,这使得它无效,并导致我的工具(Firefox、Nokogiri)抱怨

下面是这个角色在Firefox中的样子,以及当我复制并粘贴到Textmate中时的样子(很明显,我在OSX上)


我想知道这些字符是什么(例如十六进制/十进制代码),但我不知道该如何理解。你的屏幕截图很小,但Firefox示例中是否包含一个包含4个十六进制字符的字形?如果是,则为Unicode字符的代码号。你也可以在地图上搜寻钻石雕文,或者简单地将钻石复制到谷歌搜索中,字符名称应该出现在顶部附近


但真正的问题是如何在程序中处理Unicode输入。如果要处理XML,则需要正确地执行此操作。Nokogiri是一个Ruby库?听说它不能自动处理Unicode,我很惊讶。

您的屏幕截图很小,但是Firefox示例是否包含一个包含4个十六进制字符的字形?如果是,则为Unicode字符的代码号。你也可以在地图上搜寻钻石雕文,或者简单地将钻石复制到谷歌搜索中,字符名称应该出现在顶部附近


但真正的问题是如何在程序中处理Unicode输入。如果要处理XML,则需要正确地执行此操作。Nokogiri是一个Ruby库?听到它不能自动处理Unicode,我感到很惊讶。

只需像这样使用hexeditor打开文件。

只需像这样使用hexeditor打开文件。

我会将Firefox中的页面保存到一个文件中,并将其传递到
hexdump-C
。在ASCII部分中查找其周围的HTML片段,然后查找十六进制字节。很可能是UTF-8,所以需要多字节代码。

我会在Firefox中将页面保存到一个文件中,并将其传递到
hextump-C
。在ASCII部分中查找其周围的HTML片段,然后查找十六进制字节。很可能是UTF-8,因此需要多字节代码。

打开文件hexeditor并提取字符的十六进制表示形式。然后在上查找代码以找出字符的名称。

打开文件hexeditor并提取字符的十六进制表示形式。然后在上查找代码,找出字符的名称。

hextump-c 从终端命令行将显示字符代码

hextump-c
从终端命令行将显示字符代码

保存文件,然后从终端使用:


(八进制转储)

保存文件,然后从终端使用:


(八进制转储)

将其复制到emacs并启动hexl模式。

将其复制到emacs并启动hexl模式。

如果使用Vim,则将光标移动到字符上并键入ga以在状态区域中显示十六进制,然后将光标移动到字符上并键入ga以在状态区域中显示十六进制,您要查找的搜索词是或,显然是替换了模糊的“未知图示符”框中的数字。前几个结果将与该Unicode字符有关。

您要查找的搜索词是或,显然是替换了令人遗憾的模糊“未知字形”框中的数字。前几个结果与Unicode字符有关。

您可以下载类字符串的Ruby hexdump扩展,并直接从Ruby打印出hexdump:

require 'hexdump'

#... whatever you do in your program

puts your_string.hexdump
输出看起来像是从shell中的
hextump-C
中获得的

见:


您可以下载类字符串的Ruby hexdump扩展,并直接从Ruby打印一个hexdump:

require 'hexdump'

#... whatever you do in your program

puts your_string.hexdump
输出看起来像是从shell中的
hextump-C
中获得的

见:


我认为(但可能是错的)Firefox告诉我它是什么角色。你确定它不会出现在任何地方吗?你那难以理解的模糊符号中的数字是什么?我想(但可能是错的)Firefox告诉我它是什么字符。你确定它不会出现在任何地方吗?你那难以理解的模糊符号中的数字是什么?我试着把它们粘贴到谷歌上(对不起,我应该在原来的问题中注意到这一点),结果是空白的。我现在发现了一些,它们在Textmate中都显示为灰色钻石;我不认为它们实际上是钻石符号的代码。我试着将它们粘贴到谷歌上(很抱歉,我应该在原始问题中注意到这一点),结果却是空白。我现在发现了一些,它们在Textmate中都显示为灰色钻石;我不认为它们实际上是钻石符号的代码+1有趣。