博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(转载)UTF-8和GBK的编码方式的部分知识:重要
阅读量:6824 次
发布时间:2019-06-26

本文共 847 字,大约阅读时间需要 2 分钟。

GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。

至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的网站则用UTF-8节省空间。

 

GBK包含全部中文字符;

UTF-8则包含全世界所有国家需要用到的字符。

GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准,UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。

比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。 所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。

 

在java中

byte[] default_encode="你好啊".getBytes();				byte[] UTF_encode=null;		try {			UTF_encode=	"你好啊".getBytes("UTF-8");		} catch (UnsupportedEncodingException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}				System.out.println("default:"+default_encode.length+",utf8:"+UTF_encode.length);

 

 default_encode.length的值具有不确定型,它跟 "你好啊".getBytes() 采用的默认编码方式有关,默认编码方式是和.java文件的编码方式相同的.

因此最好要得到字符串的二进制形式时最好指定编码方式,否则可能出现一个文件中正常,另一个文件中不正常。

 

转载于:https://www.cnblogs.com/ribavnu/p/3437523.html

你可能感兴趣的文章
Python进阶 学习笔记(一)
查看>>
电梯测试点有哪些?
查看>>
如何点击UIWebView上html链接不弹出复制粘贴
查看>>
HDU 2709 Sumsets(递推)
查看>>
spring属性注入DI
查看>>
ofo4.0时代展望移动物联网应用 让智慧生活“随意念而动”
查看>>
阿里巴巴到底是一家什么公司?
查看>>
理想生活没那么难
查看>>
阿里NASA的深意:巨头正名还是其他?
查看>>
程序员都用什么牌子电脑编程?国产电脑很强大啊!
查看>>
禁“大声说中文”杜克大学教师邮件涉歧视遭解职
查看>>
2018年四川全社会用电量2459亿千瓦时 增长11.5%
查看>>
浙江查获5000余张假火车票 系跨省家族式作案网上交易
查看>>
女子两年间“嫁”了七回 涉嫌诈骗罪被提起公诉
查看>>
林郑月娥:香港有足够能力将经济挑战转为发展机遇
查看>>
成为Master,谷歌人工智能系统新增对Windows的支持
查看>>
AR、VR及MR在这几年越来越火红,之间又有哪些区别
查看>>
大数据正在改变汽车行业的5种方式
查看>>
40行Python代码,实现卷积特征可视化
查看>>
小米研发类Kindle电子阅读器
查看>>