我发现普通单引号'
与单词’
中的单引号之间存在差异。
我试图从两个字母的在线ASCII值查找器中找到ASCII值。我可以找到第一个的ASCII值,但是我找不到后者的ASCII值(’
)。
即使我尝试使用JAVA程序找到ASCII值,如:
public static void main (String[] args) throws java.lang.Exception{
char ch='\’';
System.out.println((int)ch);
}
Java程序在尝试时也会出错。
那么,基本上’
字符的问题是什么?
有一件事我知道这个’
符号可以通过输入单引号从MS Word文档中生成。
该字符可以复制到任何编辑器中,复制到记事本后,符号也将保持不变。但是,如果我们输入单引号,它将仅作为单引号'
。
所以,基本上当我们在Word文档中键入一个程序并将其复制到IDE或其他地方执行它时。那么这将是一个问题,对吧?那么,如何解决这个问题?
除了用’
替换'
之外,还有什么解决方案?
此问题与任何语言无关。这是一个普遍的问题,每个人都应该知道。
值得注意的编辑:
public static void main (String[] args) throws java.lang.Exception{
char ch='’';
System.out.println((int)ch);
}
哪个给出8217(作为建议的答案之一)
但仍然如何解决问题?
答案 0 :(得分:3)
其他答案已正确指出您的撇号不是ASCII字符,而是Unicode字符,称为RIGHT SINGLE QUOTATION MARK。
在源代码中使用此字符的问题是词法分析器/编译器无法将此字符识别为字符串的开头或结尾,或者您的语言中使用撇号的其他内容。因此,它不会像源中的普通撇号一样。
你已经说过不想要进行查找和替换,所以你可以做的只是让你的文本编辑器只使用普通的ASCII撇号。
如果你正在使用Microsoft Word(我可能会添加,不是一个非常好的代码编辑器),那么你可以禁用“智能引号”来解决这个问题。有关如何在Word 2007 onwards和Word 2003中执行此操作的说明。我已经测试了这个,它确实让Word只使用直撇号。
或者,您也可以使用不包含RIGHT SINGLE QUOTATION MARK字形的字体(如果可以找到)。