java-day3-ASCII与Unicode的区别 何为UTF8、UTF16、UTF32

最大区别:ASCII是一个字节,而Unicode是两个字节(生僻字四个字节)

ASCII:最早只有127个字母被变异到计算机中,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码。

Unicode:当计算机在世界范围内普及是,ASCII码显然不够用与汉字等其他语言的编码,Unicode应运而生,它将所有语言都统一到一套编码里,这样就不会出现乱码的问题了。

UTF-8:Unicode编码比ASCII编码需要多一倍的储存空间,在储存和传输上十分不划算,所以将Unicode编码转化为可变长的UTF-8,它将一个Unicode编码根据不同的数字大小编码成1-6个字节,常用的英文字母被编成一个字节,汉字通常是三个字节,只有生僻字才会被编码成4-6个字节。

UTF-16:UTF-16以16位为单元对UCS进行编码。对于小于0x10000的UCS码,UTF-16编码就等于UCS码对应的16位无符号整数

UTF-32:UTF-32是一种定长编码,使用1个32bit的码元,其值与Unicode编码值相等。

猜你喜欢

转载自www.cnblogs.com/hubowen1/p/11534054.html