我有一段 Java 代码正在检查它是否在两个 unicode 字符之间:
LA(2) >= '\u0003' && LA(2) <= '\u00ff'
我知道\u0003
代表END OF TEXT
and \u00ff
is LATIN SMALL LETTER Y WITH DIAERESIS
,但是这些点之间存在什么?(检查 LA(2) 是什么?)
例如,是所有拉丁字符、数字字符还是带重音符号的字符、所有 ascii 字符还是其他字符?
我有一段 Java 代码正在检查它是否在两个 unicode 字符之间:
LA(2) >= '\u0003' && LA(2) <= '\u00ff'
我知道\u0003
代表END OF TEXT
and \u00ff
is LATIN SMALL LETTER Y WITH DIAERESIS
,但是这些点之间存在什么?(检查 LA(2) 是什么?)
例如,是所有拉丁字符、数字字符还是带重音符号的字符、所有 ascii 字符还是其他字符?
它是拉丁文 1减去代码点 U+0000、U+0001 和 U+0002。这包括可以在美式键盘上找到的常用内容、大量控制字符(低于 U+0020 以及介于 U+007F 和 U+009F 之间)以及一些其他可用于编写大部分西欧字母的拉丁字符语言。
声明了以下范围:
0000 - 007F C0 Controls and Basic Latin
0080 - 00FF C1 Controls and Latin-1 Supplement
要检查哪个 unicode 值代表哪个字符,我建议查看以下链接之一:
除了前 3 个代码之外,它是基本的 latin1 字符集。
0x0000 - 0x007F : Basic Latin (128)
0x0080 - 0x00FF : Latin-1 Supplement (128)
该代码可能会检查字符是否可以作为单字节字符(latin1 编码)输出。