2013-07-22 3 views
2

Edit: Определенно до сих пор: Это не 2, это символ перед ними, шестнадцатеричным значением BF, в результате чего звезды в следующем символе (который бывает 2)'2' персонаж со звездой внутри?

Я бег упругого -mapreduce job using скрипты python, которые я написал, и я получаю некоторый странный вывод в виде неожиданных строк. Однако я заметил образец. Ожидаемые линии имеют неожиданные «2» в виде символов с маленькими звездами только внутри верхней кривой персонажа. То есть, когда я открываю файл в Notepad ++ (но не Блокнот или Word) Я вижу некоторые двойки показать, как это (извините за ссылки, я не могу вставлять изображения в менее чем 10 репы):

В текст: http://i.imgur.com/zaWtC3S.png
Увеличенный: http://i.imgur.com/bTYIlh6.png

странная «2 также показывают, когда я бегу сценарии питона на моей машине (хотя неожиданные линии не делают). Кто-нибудь знает, что может быть причиной этого? Это может пролить свет на нечетные дополнительные строки вывода, которые я получаю. Мне также просто любопытно.

Кроме того, я думал, что это могло быть связано с кодированием/декодированием, которое я делал для анализа безопасных URL-адресов, но когда я достал эти части, странные «2» остались, так что это было не так.

Благодаря

+0

Можете ли вы опубликовать короткий фрагмент кода, который генерирует это? Можете ли вы открыть файл с помощью двоичного редактора, чтобы узнать, какие коды символов вызывают это? Это похоже на кодировку символов - но вам нужно больше информации. – Floris

+0

Используя двоичный редактор, я понял, что это не 2, это символ перед ним, значение BF, вызывающее звезду. На самом деле это не в 2 - если я удалю 2, персонаж, который занимает его место, имеет в нем звезду. Это просто предыдущий персонаж, бросающий в него звезду ... Что касается кода, на самом деле не существует какой-либо конкретной части кода, которая выделяется для меня как особенно подозрительная, и вставка всего кода в нее невозможна , К сожалению. :( – Mishap

+0

Какая кодировка - ваш вывод должен быть? 0xBF - это инвертированный знак вопроса (¿) в латинском-1, но может отображаться только как конечная часть кодированного символа в UTF-8. Если ваш вывод UTF- 8, нам нужно увидеть еще несколько байтов, чтобы понять, что вызывает это (например, одна целая линия от INPUT LINE до конца строки). – Fredrik

ответ

2

Вы EF BB BF там ... это кодировка UTF-8 из BOM знака: отметка порядка байтов. См. http://en.wikipedia.org/wiki/Byte_order_mark. Я подозреваю, что звезда в письме - это способ вашего редактора означать «Я только что получил спецификацию». См. this earlier question. Кажется, это хорошо известная «вещь», и у этой темы есть предложения по ее решению.

Смежные вопросы