ASCII与Uni​​code + UTF-8

Que*_*ger 41 unicode ascii utf-8 character-encoding

正在阅读Joel Spolsky关于字符编码的'The Absolute Minimum'.据我所知,ASCII是一种代码点+编码方案,在现代,我们使用Unicode作为代码点方案,使用UTF-8作为编码方案.它是否正确?

Rem*_*eau 43

在现代,ASCII现在是UTF-8的子集,而不是它自己的方案.UTF-8向后兼容ASCII.

  • 有点。从技术上来说,ASCII 只定义了前 7 位。但大多数 ASCII + 代码页方案都有额外的 128 个字符,例如 Windows (1252) 或 Mac OS Roman (10000)。这些都被称为“ASCII”,但如果超过 127,则 UTF-8 与其中任何一个都不匹配。 (3认同)

Juk*_*ela 31

是的,但UTF-8是一种编码方案.其他编码方案包括UTF-16(具有两个不同的字节顺序)和UTF-32.(对于一些混淆,UTF-16方案在Microsoft软件中称为"Unicode".)

而且,确切地说,定义ASCII的美国国家标准规定了一组字符及其编码为7位数量,而没有按字节指定特定的传输编码.在过去,它以不同的方式使用,例如,使得五个ASCII字符被打包到一个36位存储单元中,或者使得8位字节使用额外字节用于检查目的(奇偶校验位)或用于传输控制.但是现在使用ASCII,因此一个ASCII字符被编码为一个8位字节,第一位设置为零.这是事实上的标准编码方案,隐含在大量规范中,但严格来说不是ASCII标准的一部分.

  • 那么ASCII和UTF-7一样吗? (6认同)