ASCII仅适用于字符。 NULL不是一个字符,那么为什么NULL具有ASCII值0。
ASCII仅适用于字符。 NULL不是一个字符,那么为什么NULL具有ASCII值0。
ASCII仅适用于[可打印的]字符
不完全正确:除了可打印字符外,ASCII还包括许多控制字符。
ASCII码0(NUL)就是这样一个控制字符。
引用Wikipedia的话:
这个字符最初的意义类似于NOP——当发送到打印机或终端时,它什么也不做(但是一些终端会错误地显示为空格)。在使用电机械式电传打字机作为计算机输出设备时,在每行末尾发送一个或多个空字符,以便机械装置有足够时间返回下一行的第一个打印位置。在穿孔纸带上,该字符表示为完全没有孔洞,因此新的未穿孔纸带最初填充了空字符,并且通常可以通过将新字符打入空字符覆盖掉来“插入”保留空字符的文本。ASCII保留前32个代码(数字0-31十进制)用于控制字符:这些代码最初不是用来表示可打印信息的,而是用来控制使用ASCII的设备(如打印机),或者提供有关存储在磁带上的数据流的元信息。例如,字符10表示“换行”功能(导致打印机推进其纸张),字符8表示“退格”。