语句 "Since ASCII used 7 bits for the character, it could only represent 128 different characters" 的确切含义是什么?

What's the exact meaning of the statement "Since ASCII used 7 bits for the character, it could only represent 128 different characters"?

我在研究 HTML 字符集和字符编码时遇到以下语句:

Since ASCII used 7 bits for the character, it could only represent 128 different characters.

当我们将任何十进制值从 ASCII 字符集转换为其等效的二进制值时,它会归结为 7 位长的二进制数。 例如。对于大写英文字母'E',十进制值69存在于ASCII table中。如果我们将 '69' 转换为它的二进制等价物,它归结为 7 位长二进制数 1000101

那么,为什么在 ASCII Table 中提到它是一个 8 位长二进制数 01000101 而不是一个7 位长二进制数 1000101 ?

这与

的说法相矛盾

Since ASCII used 7 bits for the character, it could only represent 128 different characters.

上面的语句是说 ASCII 使用 7 位字符

请消除我对考虑十进制值的二进制等价物的困惑。我是否应该考虑 ASCII Table 中任何十进制值的 7 位长二进制等价物或 8 位长二进制等价物?请用通俗易懂的语言给我解释一下。

同样,请考虑以下语句:

Since ASCII used 7 bits for the character, it could only represent 128 different characters.

根据上面的说法,ASCII支持的字符数(128)与ASCII用7位来表示任意字符有什么关系?

请解惑。

谢谢。

在大多数处理器中,内存是字节寻址的,而不是位寻址的。也就是说,内存地址给出了一个 8 位值的位置。因此,几乎所有数据都一次以 8 位的倍数进行操作。

如果我们要存储一个本质上只有 7 位的值,我们通常会为每个值使用一个字节。如果数据是这样的值的序列,就像文本一样,我们仍然会为每个值使用一个字节来使计数、调整大小、索引和迭代更容易。

当我们描述一个字节的值时,我们通常会以二进制或十六进制显示它的所有位。如果一个值是某种整数(比如 1、2、4 或 8 个字节)并且它的十进制表示更容易理解,我们会为整个整数写出十进制数字。但是在那些情况下,我们可能会失去它是多少字节的概念。

顺便说一句——HTML 与 ASCII 没有任何关系。而且,Extended ASCII 不是一种编码。字符编码的基本规则是使用编写(编码)文本的编码来读取(解码)。因此,通信包括字节传输和对字符编码的共同理解。 (这使得说 "Extended ASCII" 如此不充分以至于几乎毫无用处。)

HTML 文档表示一个 Unicode 字符序列。因此,Unicode 字符编码 (UTF-8) 之一是 HTML 文档最常用的编码。不管怎样,读取后,结果是Unicode。 HTML 文档可以用 ASCII 编码,但为什么要这样做呢?如果您确实知道它是 ASCII,那么您可以很容易地知道它是 UTF-8。

在 HTML 之外,ASCII 每秒使用数十亿次(如果不是数万亿次的话)。但是,除非您确切地知道它与您的工作有何关系,否则忘掉它,您可能没有使用 ASCII。