Как мне понять, что это за персонаж? - PullRequest
1 голос
/ 11 августа 2009

Обновление: очевидно, это управляющие символы, а не символы Юникода.

Я пытаюсь разобрать файл XML, в котором есть странный символ, который делает его недействительным и вызывает жалобы моих инструментов (Firefox, Nokogiri).

Вот как выглядит персонаж в Firefox и как он выглядит, когда я копирую и вставляю его в Textmate (очевидно, я нахожусь на OS X).

сумасшедшие персонажи http://img.skitch.com/20090811-ghu43k5u9nhpcjmh443dpq76jp.preview.jpg

Вместо просто загадочных иконок и маленьких серых бриллиантов мне бы очень хотелось узнать, что это за символы (например, шестнадцатеричные / десятичные коды), но я не уверен, как это выяснить.

Ответы [ 10 ]

4 голосов
/ 11 августа 2009

Я бы сохранил страницу в Firefox в файл и передал бы ее hexdump -C. Ищите фрагмент HTML вокруг него в части ASCII, затем ищите шестнадцатеричные байты. Скорее всего, это UTF-8, поэтому ожидайте многобайтовый код.

4 голосов
/ 11 августа 2009

Ваш скриншот крошечный, но содержит ли образец Firefox глиф с 4 шестнадцатеричными символами в нем? Если это так, это кодовый номер символа Unicode. Вы также можете охотиться за этим алмазным символом в кодовых таблицах Юникода или просто скопировать алмаз в поиск Google, и имя персонажа должно появиться вверху.

Но реальный вопрос заключается в том, как обрабатывать ввод Unicode в вашей программе. Вы должны сделать это правильно, если вы обрабатываете XML. Нокогири - это библиотека Ruby? Я удивлен, узнав, что он не обрабатывает Unicode автоматически.

2 голосов
/ 12 августа 2009

Поисковый термин, который вы ищете: U+2603 или U2603, очевидно, подставляя числа из вашего печально расплывчатого поля «неизвестный глиф». Первые несколько результатов будут о том символе Unicode.

1 голос
/ 11 августа 2009

Скопируйте его в emacs и запустите hexl-режим.

0 голосов
/ 19 октября 2011

вы можете скачать расширение Ruby hexdump для класса String и распечатать hexdump из Ruby напрямую:

require 'hexdump'

#... whatever you do in your program

puts your_string.hexdump

вывод выглядит как то, что вы получаете от hexdump -C в оболочке

См:

Метод Ruby Hexdump для класса String

0 голосов
/ 12 августа 2009

Если вы используете Vim, наведите курсор на символ и введите ga, чтобы отобразить гекс в области состояния

0 голосов
/ 11 августа 2009

Сохраните файл и затем из терминала используйте:

od (восьмеричный дамп)

0 голосов
/ 11 августа 2009

hexdump -c из командной строки терминала покажет вам код символа.

0 голосов
/ 11 августа 2009

Откройте файл hexeditor и извлеките шестнадцатеричное представление символа. Затем найдите код на http://unicode.org, чтобы узнать имя персонажа.

0 голосов
/ 11 августа 2009

Просто откройте файл с помощью шестнадцатеричного редактора, например xvi32 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...