2017-01-30 27 views
1

По какой-то причине уценка Redcarpet отображает ' как ' при рендеринге как . Существуют ли два типа одиночной кавычки? Почему Redcarpet относится к другому, чем к другому. (Ascii таблица, кажется, есть один, но под юникод я предполагаю, что есть больше?)В чем разница между «'» и «»

Поиск ' и немного трудно, а также найти Хрома (Ctrl + F) и Google поиск, кажется, лечить два символа как один и тот же.

enter image description here

enter image description here

+0

У меня возникли некоторые проблемы с пониманием вопрос ... Вы видите, что это два разных персонажа, иначе вы бы не показывать два различных глифов (одна прямая, еще один крючок, по крайней мере, они показывают на моем экране) ... так что, конечно, это означает, что у них разные коды символов. И если один из них имеет особый смысл, а другой - нет, то тот ускользает, а другой - нет. Я что-то упускаю? –

+0

Нет, вы ничего не пропустили. То, что я хочу знать, в чем разница между двумя персонажами, почему Redcarpet ускользает от одного и отображает другое.Есть ли лучшее решение, чем '@ markdown.render (a.content.gsub (" '","' "))' –

+0

Markdown был задуман как упрощенный способ написания текстовых документов по сравнению с HTML. Канонический рендеринг - это HTML. ASCII не имеет ничего общего с HTML; все символы являются Unicode, независимо от кодировки документа и независимо от того, записаны ли они как ссылки на числовые символы или нет. Совет. Чтобы исследовать символ, поместите его в формат U + hhhhh, где hhhhh - это 4-5 шестнадцатеричных цифр для кодового слова. –

ответ

3

Да, есть. Эти две кавычки являются:

hex(decimal) codepoint = 2019(8217) and character = ’ 
hex(decimal) codepoint = 27(39) and character = ' 

Кодовые-точки (первое число гекс, а второй десятичные значения кода точки) различны.

В соответствии со стандартом Unicode, первый из них:

2019;RIGHT SINGLE QUOTATION MARK;Pf;0;ON;;;;;N;SINGLE COMMA QUOTATION MARK;;;; 

а второй является

0027;APOSTROPHE;Po;0;ON;;;;;N;APOSTROPHE-QUOTE;;;; 

Возможно, RedCarpet следует использовать надлежащее HTML маскирование для первого типа цитаты. (This page говорит, что его следует избегать как ’)

Вы правы, когда говорите, что вторая цитата: «является частью 7-разрядной кодировки ASCII.

Даже если первая цитата, ’, которая отображается как: ', неотличим от человеческого глаза от второй цитаты:', вы можете искать ее в Chrome или любом другом редакторе/браузере, используя метод ввода вашей операционной системы. Это связано с тем, что ввод символа - это задание так называемого Input Method, и вы можете ввести любой символ в данной операционной системе, если знаете методы ввода, которые он поддерживает. Например, на Mac:

  • Используйте U + клавиатура, которая выглядит, как показано ниже в строке меню.
  • Нажмите Cmd + F на Chrome, чтобы начать поиск.
  • Сохраните нажатой клавишу Alt и введите шестнадцатеричное значение юникода для котировки, которую вы ищете (2719). То, что появится в окне поиска, - это (на самом деле это то, что я сделал, чтобы напечатать эту цитату!)

Подобный объект доступен в Linux и Microsoft Windows.

enter image description here

+1

Хорошо заметил. Следует отметить, что у отдельных котировок и апострофов разные грамматические обычаи – RafaelC

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