zoukankan      html  css  js  c++  java
  • 签名、BOM头、编码、Windows记事本编码、java编码解码的那些事

    			对于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
    

      

  • 相关阅读:
    Python学习Day1
    Linux使用外部邮箱发送邮件
    Linux命令学习1(awk、grep、sed)
    html笔记之表格
    html笔记之认识标签
    zabbix笔记之告警配置
    zabbix笔记之zabbix基础知识了解
    Windows之80端口被系统占用
    python笔记之流程控制
    python笔记之基本数据类型
  • 原文地址:https://www.cnblogs.com/xxNote/p/5416138.html
Copyright © 2011-2022 走看看