我正在解析/标记一组编译为 CSS 的语言,但我不知道应该如何处理非 ASCII 输入。显然很多人之前都处理过这个问题。
作为一般经验法则,我一直在阅读“转换为 UTF-8,处理并转换回您输入的任何编码”。我倾向于同意这种方法......
但我一直在想,我将直接使用的所有标点符号和数字都是 ASCII(代码点低于 127),而其他字符串都将被填充到哈希表中(即程序不应该关心你需要多少字节来表达任何给定的字符)。
问题来了:
是否有任何正式字符集会与我感兴趣的代码点的 ASCII 定义冲突(全部低于 127)?
在设置大 ole' 字符范围以匹配所有我不打算直接处理的字符并跳过整个宽字符 UTF-8 编码解码失败时,你能看到任何明显的错误吗?
例如:
//A-Z, a-z and all the non-ASCII stuff
character = (0x41..0x5A) || (0x61..0x7A) || (0x80..0xFF)
//match 1 or more
identifier = character+
非常感谢!