签名、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
签名、BOM头、编码、Windows记事本编码、java编码解码的那些事的更多相关文章
- 转!!windows记事本保存“联通” 编码问题
原博文网址:http://blog.csdn.net/Zhiyuan_Ma/article/details/51838054 简单分析: 这是微软记事本的一个BUG,准确点就是unicode编码的问题 ...
- CheckStyle,定制属于自己的Java编码规范
前言 如今,代码规范几乎是当下稍有追求的团队都要求做到的,但是对于Java编码规范,不同的公司或团队却有着不同的标准.尽管官方提供了一些标准,但是在基本规则的基础上,各大公司又有自己的规范,比如Sun ...
- 读取含有BOM头的文件遇到的问题
需求是读取一个csv文件,然后解析成对应的数据结构.csv必须包含指定的某些列,通过列名header来进行校验. 解析配置文件的方法. public List<QuestionData> ...
- 刨根究底字符编码之十六——Windows记事本的诡异怪事:微软为什么跟联通有仇?(没有BOM,所以被误判为UTF8。“联通”两个汉字的GB内码,其第一第二个字节的起始部分分别是“110”和“10”,,第三第四个字节也分别是“110”和“10”)
1. 当用一个软件(比如Windows记事本或Notepad++)打开一个文本文件时,它要做的第一件事是确定这个文本文件究竟是使用哪种编码方式保存的,以便于该软件对其正确解码,否则将显示为乱码. 一般 ...
- 使用editplus等编程工具时UTF-8编码去掉BOM头方法(转载备查)
Unicode规范中有一个BOM的概念.BOM——Byte Order Mark,就是字节序标记.在这里找到一段关于BOM的说明: 在UCS 编码中有一个叫做"ZERO WI ...
- Windows 记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别?
[梁海的回答(99票)]: 简答.一些细节暂无精力查证,如果说错了还请指出. 一句话建议:涉及兼容性考量时,不要用记事本,用专业的文本编辑器保存为不带 BOM 的UTF-8. * * * 如果是为了跨 ...
- 基于Windows下处理Java错误:编码GBK的不可映射字符的解决方案
基于Windows下处理Java错误:编码GBK的不可映射字符的解决方案 最近在研究Java,涉及命令行编译,使用notepad++编辑器,然后使用javac编译: 之前的几个文件没有中文的内容,都没 ...
- 原来windows里记事本的ansi编码就是GB2312啊,跟utf-8,unicode是不一样的。
原来windows里记事本的ansi编码就是GB2312啊,跟utf-8,unicode是不一样的. 程序里的比如java的,Qt的string都是unicode的字符串,因此如果是你从文件中读取文字 ...
- windows下编译java源文件的编码错误
import java.util.Arrays;public class ArrayAsAReference{ public static void main(String[] args) { int ...
随机推荐
- 1.认识EJB
什么是EJB?1. Enterprice JavaBeans(EJB)是一个用于分布式业务应用的标准服务端组件模型. . 采用EJB架构编写的应用是可伸的.事务性的.多用户安全的. . 采用EJB编写 ...
- Bean生命周期及BeanFactory
1.spring通过BeanFactory灵活配置.管理bean,Spring对管理的bean没有任何特别的要求,完全支持对POJO的管理: 2.BeanFactory有个ApplicationCon ...
- 程序测试--DOS界面测试C程序
打开命令提示符或运行CMD或直接通过路径C:\WINDOWS\System32\cmd.exe打开即可: 转到可执行文件所在的磁盘,然后输入mycount.exe <1.txt命令即可.如图示对 ...
- Zip加密
http://www.cnblogs.com/kgdxpr/archive/2013/08/01/3230174.html
- BZOJ2595[WC2008]游览计划
Description Input 第一行有两个整数,N和 M,描述方块的数目. 接下来 N行, 每行有 M 个非负整数, 如果该整数为 0, 则该方块为一个景点:否则表示控制该方块至少需要的志愿者数 ...
- 修改eclipse的自动完成功能
修改eclipse的自动完成功能 周银辉 用eclipse时还是比较习惯Visual Studio那样的敲一个字母就弹出自动完成框,而不是总要等到敲.号,其实可以设置的: 在preferences ...
- 五种方法让CSS实现垂直居中
利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 使用 CSS 实现垂直居中并不容易.有些方法在一些浏览器 ...
- vs2015 安装之后安装MSSM 2016 导致 vs启动报错 System.ArgumentException 已添加了具有相同键的项,ActivityLog.xml
如题,先是装了vs2015,开发什么的都没有问题,后来安装了SqlServer2016 MSSM,出大问题了,vs2015打开就报错,具体错误如上,还想还有个ActivityLog.xml 这个文件的 ...
- DNS简析
IntroductionName Server架构分层管理机制分层查询机制Name Server之间的Master-Slave架构DDNS底层协议配置文件/etc/hosts/etc/resov.co ...
- [转]Hibernate延迟加载与opensessioninviewFilter
原文地址:http://blog.csdn.net/a19881029/article/details/7916702 hibernate延迟加载: 一个person对应多个school,使用hibe ...