关于编码问题的若干总结
来源:互联网 发布:微信淘宝客机器人 编辑:程序博客网 时间:2024/05/18 02:33
做程序开发,乱码问题应该是大家经常碰到的问题,最近本人看了很多资料,做了很多测试,故今日做个总结,既方便自己日后查看,也能帮助其他被此困惑的人。部分内容参考https://www.zhihu.com/question/20650946。
1、编码方案分类
大家一般比较常见的就是1、GB开头的,包括GB2312、GBK、GB18030。GB即国标的简称,专门针对中文编码,是目前比较流行的编码方案之一,一个汉字占两个字节。2、Unicode,包括UTF8、UTF16(BE/LE)。UTF8也是目前国际使用最广的编码方案,英文字符用一个字节表示,中文字符用3个字符表示。而UTF16则是中英文字符都统一用两个字节表示。很多软件显示的unicode编码实际默认的是UTF16,ansi对于使用简体中文的我们表示的实际上是GBK。至于很多软件提示的带BOM或者不带BOM代表的是是否在文件的最前面保存一个指示编码的标签,这个标签就是BOM。一般我们使用不带BOM的。
2、可执行程序的编码
1、编码方案分类
大家一般比较常见的就是1、GB开头的,包括GB2312、GBK、GB18030。GB即国标的简称,专门针对中文编码,是目前比较流行的编码方案之一,一个汉字占两个字节。2、Unicode,包括UTF8、UTF16(BE/LE)。UTF8也是目前国际使用最广的编码方案,英文字符用一个字节表示,中文字符用3个字符表示。而UTF16则是中英文字符都统一用两个字节表示。很多软件显示的unicode编码实际默认的是UTF16,ansi对于使用简体中文的我们表示的实际上是GBK。至于很多软件提示的带BOM或者不带BOM代表的是是否在文件的最前面保存一个指示编码的标签,这个标签就是BOM。一般我们使用不带BOM的。
2、可执行程序的编码
可执行程序的编码直接取决于你的编辑器,和你的编译器无关。即如果你的编辑器使用的GB2312,那不管你的程序在哪编译,最终可执行程序的编码是GB2312的,因为你提交给编译器的汉字已经被编辑器转换为对应的二进制编码了。
阅读全文
0 0
- 关于编码问题的若干总结
- 关于Django的TIME_ZONE时区问题的若干总结
- 关于Django的TIME_ZONE时区问题的若干总结
- 关于多组输入的若干总结
- 关于色彩管理的若干个问题
- 关于完美洗牌问题的若干思考
- 关于完美洗牌问题的若干思考
- 关于NDK的若干入门问题
- 关于完美洗牌问题的若干思考
- 关于java的若干个问题
- 关于webstorm的若干小问题
- 关于css样式的若干小问题
- 关于python编码问题总结
- 关于编码的问题
- 关于编码的问题
- 关于编码的方式控制IIS问题总结!
- 关于Apache+Mysql+Php编码问题的总结0410
- 关于各种编码问题,汉字处理的一点小总结
- 将具有length属性的对象转成数组
- adb无法识别到手机怎么办?
- jq 获得月份中有几周和每周开始日期和结束日期
- C++学习计划
- java常见面试题及答案
- 关于编码问题的若干总结
- H264基本原理
- 设计模式之代理模式(Proxy)
- oracle 触发器
- 省市级连菜单
- CentOS 7 安装及卸载、重置登录密码 MySql5.7
- java时间格式转换
- Django访问静态资源及连接mysql数据库(反向生成表)
- shiro过滤器