“'”和“'”有什么区别

Rez*_*ian 2 ascii redcarpet

由于某种原因,Redcarpet markdown在渲染\'为时渲染为。单引号有两种类型吗?为什么红毯会以不同的方式对待其中一个。(Ascii 表似乎有一个,但在 unicode 下我假设还有更多?)'\xe2\x80\x99\xe2\x80\x99

\n\n

搜索\'and\xe2\x80\x99有点困难,chrome 的 find (command + f) 和 Google 搜索似乎都将这两个字符视为同一个。

\n\n

在此输入图像描述

\n\n

在此输入图像描述

\n

Ked*_*ade 8

是的,有。这两个引号字符是:

\n\n
hex(decimal) codepoint = 2019(8217) and character = \xe2\x80\x99\nhex(decimal) codepoint = 27(39) and character = \'\n
Run Code Online (Sandbox Code Playgroud)\n\n

代码点(第一个数字是十六进制,第二个是代码点的十进制值)是不同的。

\n\n

根据Unicode标准,第一个是:

\n\n
2019;RIGHT SINGLE QUOTATION MARK;Pf;0;ON;;;;;N;SINGLE COMMA QUOTATION MARK;;;;\n
Run Code Online (Sandbox Code Playgroud)\n\n

而第二个是

\n\n
0027;APOSTROPHE;Po;0;ON;;;;;N;APOSTROPHE-QUOTE;;;;\n
Run Code Online (Sandbox Code Playgroud)\n\n

也许 RedCarpet 应该使用正确的 HTML 实体转义第一种类型的引用。(此页面说它应该转义为’

\n\n

当你说第二个引号: \' 是 7 位 ASCII 编码的一部分时,你是对的。

\n\n

即使第一个引号(’呈现为:\xe2\x80\x99)与第二个引号对于人眼来说很难区分:\',您也可以使用您的操作系统在 Chrome 或任何其他编辑器/浏览器上搜索它输入法。这是因为输入字符是所谓的输入法的工作,如果您知道给定操作系统支持的输入法,则可以在给定操作系统中输入任何字符。例如,在 Mac 上

\n\n
    \n
  • 使用如下菜单栏所示的 U+ 键盘。
  • \n
  • 在 Chrome 上按 Cmd + F 开始搜索。
  • \n
  • 按住 Alt 键并输入您要查找的报价的 unicode 十六进制值 (2719)。搜索框中将出现的是 \xe2\x80\x99 (事实上,这就是我打印那句话的方法!)
  • \n
\n\n

Linux 和 Microsoft Windows 上也提供类似的功能。

\n\n

在此输入图像描述

\n

  • 很好注意到。应该注意的是,单引号和撇号有不同的语法用法 (3认同)