gpt4 book ai didi

lua - 为什么Lua的字符串可以包含任意数值的字符?

转载 作者:行者123 更新时间:2023-12-05 08:59:59 24 4
gpt4 key购买 nike

我在那里读到一些关于字符串的内容: http://www.lua.org/pil/2.4.html

Lua 是八位干净的,因此字符串可以包含具有任何数值的字符,包括嵌入的零

八位干净是什么意思?

为什么它可以包含任意数值的字符? (与基本的 c 字符串不同)

最佳答案

常用的字符串存储方式有两种:

  1. 角色和终结者
  2. 长度和字符

使用#1时,需要“牺牲”一个角色作为终结者;当你使用#2 时,你没有这样的限制。

C 使用第一种方法存储字符串。它使用字符零作为终止符;其余255个字符可以用来表示字符串的字符。

Lua使用第二种方式存储字符串。 Lua 字符串中可以使用所有 256 个可能的字符值,包括零。例如,你可以从字符'A', 0, 'B构造一个三字符的字符串,Lua会把它当作三个字符的字符串。您可以在 C 中构造相同的字符串,但其字符串处理库会将其视为单字符字符串:strlen 将返回 1puts 将写入字符 A 并停止,依此类推。

关于lua - 为什么Lua的字符串可以包含任意数值的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10859387/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com