【发布时间】:2024-01-19 01:06:02
【问题描述】:
我看过很多地方说:
最大字符数为 255。
其中字符是 ASCII。这样做有技术原因吗?
编辑: 我知道 ASCII 由 8 位表示,因此有 256 个不同的字符。问题是他们为什么指定最大字符数(有重复)是 255。
【问题讨论】:
-
请记住,没有一种字符集称为“扩展 ASCII”。准确说出是哪一个(例如 CP437 和 Windows-1252)非常重要。
-
不确定该声明来自何处,但可能与将 0 视为字符串终止符的 C 语言有关。
-
无论答案如何,上面关于 255 个 ASCII 字符的说法都是错误的。它忘记了值 00h 的八位字节,它使用扩展的 ASCII 集,并忘记了 ASCII 字符集中的空洞(未映射的字节)。这种 cmets 通常放在人们不理解字节、文本和以 null 结尾的
char*值之间的区别的地方。如果您发现类似这样的语句并期待任何事情(尤其是错误和缓冲区溢出),请谨慎操作。
标签: character-encoding char ascii