ASCII与Uni​​code + UTF-8

时间:2014-01-23 01:39:04

标签: unicode utf-8 character-encoding ascii

正在阅读Joel Spolsky's 'The Absolute Minimum' about character encoding。 据我所知,ASCII是一种代码点+编码方案,在现代,我们使用Unicode作为代码点方案,使用UTF-8作为编码方案。这是对的吗?

2 个答案:

答案 0 :(得分:36)

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

答案 1 :(得分:28)

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

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