Lua字符串字符编码

我看不出 Lua 用于其字符串的编码格式。

我使用:

string.byte (s [, i [, j]])

它的文档为

返回字符 s[i]、s[i+1]、···、s[j] 的内部数字代码。i 的默认值为 1;j 的默认值为 i。 请注意,数字代码不一定可以在各平台上移植。

阅读相关内容,人们建议使用 ASCII 编码,这对我来说很好,但我不知道跨平台发生了什么。我认为使用单个编码(如 ASCII)的本质就是不会发生这种情况。或者说,它只是说 ASCII 没有定义到 126(或 127),因此不同的国家/ OEMS/ OSs 等可能使用几十年前的自定义 ASCII 扩展,位于上限的这一部分?

对我来说,重要的是要知道在我运行的所有平台上 [a-zA-Z] 将具有相同的字符值。

Lua 的文档在这里可以有更具体的描述!

如果有人能为此提供任何帮助,那就太好了,谢谢。

点赞
用户73070
用户73070

我相当确信你可以安全地假设一个ASCII派生的编码。因此,你感兴趣的微小字符集保持不变。

有关代码在不同平台之间更改的说明可能意味着Lua根本不知道字符编码,因此只使用操作系统提供的字节。在Linux上,这可能是UTF-8,这意味着当超出ASCII范围时,您必须处理单个代码单元。在Windows中,我可以想象它是系统的旧代码页,这意味着在大部分西方世界中,它是一种类似于Latin 1(CP 1252)的编码。

2013-07-26 11:28:33