首页 > 编程语言 > 详细

签名、BOM头、编码、Windows记事本编码、java编码解码的那些事

时间:2016-04-21 11:45:28      阅读:156      评论:0      收藏:0      [点我收藏+]
			对于Windows记事本:
			ANSI				:GB2312				java中应使用GBK解码
			Unicode				:有签名的UTF-16LE	java中应使用UTF-16解码
			Unicode big endian	:有签名的UTF-16BE	java中应使用UTF-16解码
			UTF-8				:有签名的UTF-8		java中只能手动去掉签名了再用UTF-8解码了
			
			对于java程序的解码:
			GBK		:GBK编码可以兼容GB2312,因此用GBK处理GBK、GB2312两种编码
			UTF-8	:无签名的UTF-8
			UTF-16	:有签名的UTF-16LE或UTF-16BE,两者根据签名自动识别
			UTF-16BE:无签名的UTF-16BE
			UTF-16LE:无签名的UTF-16LE
			
			UNICODE其实只是字符集而不是编码,Windows的记事本用Unicode来代表有签名的UTF-16LE有些
			不恰当,记事本里面的ANSI在不同系统会映射成不同编码,在中文系统是GB2312编码,在英文系
			统是ASCII编码
			
			签名又叫BOM,即字节顺序标记,它是插入到以UTF-8、UTF16或UTF-32编码Unicode文件开头的
			特殊标记,用来识别Unicode文件的编码类型。对于UTF-8来说,BOM并不是必须的,因为BOM用来
			标记多字节编码文件的编码类型和字节顺序(big-endian或little- endian)。
			BOMs 文件头:

			00 00 FE FF    = UTF-32, big-endian

			FF FE 00 00    = UTF-32, little-endian

			EF BB BF       = UTF-8,

			FE FF          = UTF-16, big-endian

			FF FE          = UTF-16, little-endian

  

签名、BOM头、编码、Windows记事本编码、java编码解码的那些事

原文:http://www.cnblogs.com/xxNote/p/5416138.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!