GBK的主要竞争对手是UTF-8,前者是国货,后者是洋玩艺。二者的区别在于:
(1)支持范围:GBK编码主要用于表示中文字符,UTF-8支持全球范围内几乎所有的字符集。
(2)编码方式:GBK采用双字节编码,每个字符占用2个字节;UTF-8采用变长编码,一个字符的编码长度可为1到4个字节。因为要照顾到全球字符,必然导致有些字符占用的字节数增多。美国佬自然不会照顾汉字,设定每个中汉字占了3个字节。
(3)存储空间:对汉字来讲,因为UTF-8比GBK多1个字节,所以GBK占用存储空间更小,访问效率更高。
总之,GBK编码的局限性在于对其他语言的支持较弱,其存储空间和效率方面上的优势在如今地主家不差钱的年代已显得不那么重要。随着Unicode编码的普及,兼容性更好的UTF-8编码已逐渐成为一种更广泛使用的编码方式。