ANTLRWorks 1.4.3无法显示&破坏ASCII字符

时间:2011-12-07 20:18:22

标签: ascii antlrworks asciiencoding

作为上一个问题(ANTLRWorks 1.4.3 can't properly read extended-ASCII characters)的新开发,我使用十六进制编辑器创建了一个简单的文本文件:

' ' '£' '°' 'ç'

或者以十六进制:

27 A0 27 20 27 A3 27 20 27 B0 27 20 27 E7 27

结果文件在Notepad ++中读得很好。在ANTLRWorks 1.4.3中打开后,(扩展)ASCII字符显示为方框。在添加和删除行尾的空格后保存文件时,十六进制文件视图如下所示:

27 3F 20 27 A3 27 20 27 B0 27 20 27 3F

由于某种原因,撇号之间的初始空格(20)被肢解为问号(3F),而带有cedilla字符的特殊c(E7)和跟随它的撇号都被问号取代。

似乎存在扩展的ASCII字符会导致事情发生可怕的错误。这里的任何人都可以复制此问题和/或提供可能的原因和解决方案吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以改为使用Unicode转义符。假设你想匹配英镑符号,你可以这样做:

PoundSign : '\u00A3';

而不是:

PoundSign : '£';

他们(应该)都匹配相同的角色,第一个很可能不会被破坏。

相关问题