CSDN热搜
可以看到,对于英文字符C,与特殊符号# 。 ASCII能够正常编码解码,但对中文就无能为力了。
这个时候的核心问题在于,大多数国家和地区都各自为政,互不兼容。比如一个GBK编码的文件,在使用Big5编码的程序中打开,就会显示为乱码。 编码之间的混乱,导致了软件开发,数据交互的国际化几乎是不可能的。
使用UTF-8来解码GBK,会乱码。
比如汉字”中“的码点是U+4E2D,这个十六进制的数字可以存为2字节,4字节。传输过程中还会遇到大端法/小端法的顺序问题。
可以看到,空间浪费极其严重。总共用了 16 个字节。每个字符都占 4 个字节。
相对UTF-32,存储空间占用有了极大改善,总共用了 8 个字节。每个字符都占 2 个字节(因为 "编程" 在 BMP 范围内)。
总共用了 8 个字节。C(43), #(23) 各占 1 个字节,“编”(E7-BC-96) 和 “程”(E7-A8-8B) 各占 3 个字节。
使用道具 举报
本版积分规则 回帖并转播 回帖后跳转到最后一页
程序园优秀签约作者
0
粉丝关注
24
主题发布