"'" 和 "'" 和有什么不一样?
What is the difference between " ’ " and " ' "
出于某种原因,Redcarpet markdown 将 '
呈现为 '
,而将 ’
呈现为 ’
。有两种类型的单引号吗?为什么 Redcarpet 会区别对待其中一个。 (Ascii table 似乎有一个,但在 unicode 下我假设还有更多?)
搜索'
和’
有点困难以及chrome的find(command + f)和Google搜索似乎把这两个角色是一样的。
是的,有。这两个引号字符是:
hex(decimal) codepoint = 2019(8217) and character = ’
hex(decimal) codepoint = 27(39) and character = '
code-points(第一个数字是十六进制,第二个是 code-point 的十进制值)是不同的。
根据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 或任何其他 editor/browser 使用操作系统的输入法。这是因为输入字符是所谓的 Input Method 的工作,如果您知道操作系统支持的输入法,则可以在给定的操作系统中输入任何字符。例如,在 Mac:
- 在菜单栏上使用如下所示的 U+ 键盘。
- 在 Chrome 上按 Cmd + F 开始搜索。
- 按住 Alt 键并输入您要查找的报价 (2719) 的 unicode 十六进制值。将出现在搜索框中的是 ’(事实上,这就是我打印那句话所做的!)
Linux 和 Microsoft Windows 上提供了类似的工具。
//Here is the C# way to handle in programme
// example for removing apostrophe from O’Reilly
char charToRemove = '\''; // works in android and windows
char charToRemove1 = (char)8217; // works in iOS/macOS
string myName = "O’Reilly";
myName = myName.Replace(charsToRemove.ToString(), ""); // Android windows
myName = myName.Replace(charToRemove1.ToString(), ""); // ios
Console.Writeline(myName);
出于某种原因,Redcarpet markdown 将 '
呈现为 '
,而将 ’
呈现为 ’
。有两种类型的单引号吗?为什么 Redcarpet 会区别对待其中一个。 (Ascii table 似乎有一个,但在 unicode 下我假设还有更多?)
搜索'
和’
有点困难以及chrome的find(command + f)和Google搜索似乎把这两个角色是一样的。
是的,有。这两个引号字符是:
hex(decimal) codepoint = 2019(8217) and character = ’
hex(decimal) codepoint = 27(39) and character = '
code-points(第一个数字是十六进制,第二个是 code-point 的十进制值)是不同的。
根据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 或任何其他 editor/browser 使用操作系统的输入法。这是因为输入字符是所谓的 Input Method 的工作,如果您知道操作系统支持的输入法,则可以在给定的操作系统中输入任何字符。例如,在 Mac:
- 在菜单栏上使用如下所示的 U+ 键盘。
- 在 Chrome 上按 Cmd + F 开始搜索。
- 按住 Alt 键并输入您要查找的报价 (2719) 的 unicode 十六进制值。将出现在搜索框中的是 ’(事实上,这就是我打印那句话所做的!)
Linux 和 Microsoft Windows 上提供了类似的工具。
//Here is the C# way to handle in programme
// example for removing apostrophe from O’Reilly
char charToRemove = '\''; // works in android and windows
char charToRemove1 = (char)8217; // works in iOS/macOS
string myName = "O’Reilly";
myName = myName.Replace(charsToRemove.ToString(), ""); // Android windows
myName = myName.Replace(charToRemove1.ToString(), ""); // ios
Console.Writeline(myName);