“1055912799”ASCII字符串是否等同于“1055912799”Unicode字符串?
答案 0 :(得分:0)
因为ASCII是unicode的子集,所以任何ASCII字符串在unicode中都是相同的,假设你当然用UTF-8编码它。显然,UTF-16或UTF-32编码会使它变得相当臃肿。
答案 1 :(得分:0)
是的,Unicode中的数字字符0到9定义为与Ascii中的字符相同。更一般地说,所有可打印的Ascii字符也用Unicode编码(顺便说一下,代码编号相同)。
作为字节序列的内部表示是否相同取决于字符编码。设计Unicode的UTF-8编码,使得Ascii字符具有与当前用于Ascii的唯一编码相同的字节编码表示(将每个Ascii代码编号映射到8位字节,第一位设置为零)。
Ascii范围内字符的UTF-16编码表示可以说与Ascii编码“等效”,因为存在简单的映射:在UTF-16中,每个Ascii字符显示为两个字节,一个零字节和一个包含Ascii编号的字节。 (这些字节的顺序取决于UTF-16的字节顺序。)但是这种“等价”概念通常不会被使用,也不会特别有用。