“编码不可知”是什么意思?

在 lua 5.3 参考手册中,我们可以看到:

Lua 也是一种编码无关的语言;它不对字符串内容做任何假设。

我不理解这句话的意思。

点赞
用户1442917
用户1442917

同样的字节值在字符串中表示的字符,取决于该字符串所使用的字符编码。例如,相同的值\177Code page 437 编码中可能代表â–’,在Windows 1252 编码中可能代表±

Lua不会假设给定字符串的编码是什么,模糊性需要在脚本层面解决。换句话说,您的脚本需要知道是否将字节序列作为Windows 1252Code page 437UTF-8或其他编码的字符串处理。

2015-05-16 15:30:53
用户2226988
用户2226988

基本上,Lua 字符串是一系列计数的字节。如果你将 Lua 字符串用于二进制数据,字符编码的概念就不相关,并且不会干扰二进制数据。因此,字符串是编码不敏感的。

标准的字符串库中有一些函数将字符串值视为文本——一系列未计数的字符。没有文本只有编码的文本。编码将字符集的成员映射到字节序列。一个字符串将有零个或多个这样编码的字符的字节。要将一个字符串理解为文本,你必须知道字符集和编码。要使用字符串函数,编码应该与 os.setlocale() 兼容。

2015-05-16 20:12:48