2015-01-23 5 views
1

У меня есть строки в моем коде, содержащие невидимые символы. посмотрите на строку ниже, невидимые символы находятся между m и последней двойной кавычкой.Что это за невидимый персонаж?

Я хотел бы знать
a) что это такое?
б) как их обнаружить?

Я пробовал оба «draw_white_space»: «все» в настройках и плагине TrailingSpaces, но они не раскрывают их.

"com" 
+1

Как вы знаете, что у вас есть «невидимые персонажи», если вы не можете их увидеть? –

+0

Два способа: 1) Если я вставляю его в текстовый редактор (например, Sublime) и устанавливаю курсор в конце слова и наступая налево, ему нужно два «степпинга влево», чтобы пройти по двойной кавычки и m. 2) Если вы вставляете строку в консоли, курсор не сразу после строки, между ними есть пробел. – Numbers

ответ

2

Невидимый символ Юникод U+FEFF - ZERO WIDTH NO-BREAK SPACE. Я написал plugin, чтобы найти и выделить символы нулевой ширины. В вашем случае замените '\u200b' на '\ufeff' в связанном коде, и все должно быть установлено. Если один или более из этих символов в тексте, они будут выделены в invalid области видимости (например, с использованием Neon Color Scheme и IPython работает в SublimeREPL):

(обратите внимание на темно-красную линию после m) ,