关于程序中乱码解决方案上:乱码理解篇
来源:互联网 发布:中国网络空间安全战略 编辑:程序博客网 时间:2024/06/05 07:54
1、 * 乱码 在程序当中,当遇到中文、日文、韩文等文字的时候,无法正常显示,这种情况被称为乱码。
2、 * 导致乱码的根本原因是 因为文字在进行“编码”和“解码”的时候采用的不是同一本字典(不是同一张对照表),就好比。
3、什么是字符编码?
* 计算机只能识别二进制码,只认识1001010101010,其它不认识。
* 现实世界当中人和人之间沟通的时候用到的不是二进制,而是一种高级语言,高级语言当中最重要的当然是“文字”
* 计算机怎么表示文字呢?
计算机只能采用“二进制码”表示某个特殊的“文字”
问题:“这个二进制码”表示哪个“文字”呢?
* 每个国家都有计算机协会组织,该组织通常负责制定自己国家的文字和二进制码的对照表。而这张对照表就是一种“字符编码”方式。
4、字符编码的发展历史:
* 世界上第一台计算机不支持任何国家的文字,英文也不支持,只支持数字,因为当时设计计算机的作用是为了解决科学计算问题。
* 随着计算机的发展,计算机很迫切的来表示现实世界中的文字,那当然第一个支持的文字是英文,
当时为了支持26个英文字母,美国人制定了一套对照表,这张对照表被称为:ASCII码。
ASCII码表中规定:
'a' 97 'A' 65 '0' 48
'a' --解码--> 01100001
01100001 --编码--> 'a'
注意:英文共26个英文字母,所以采用一个字节完全可以容纳所有的英文字母和标点符号。所以ASCII码采用的是一个字节进行编码。
一个字节是8个比特位,8个比特位可以表示256种不同的情况,也就是说一个byte可以表示256个不同的文字,
完全可以容纳英文相关的字符以及标点符号。
* 随着计算机的发展,后来为了支持更多国家的语言,国际标准组织制定了一种字符编码方式,
叫做:ISO-8859-1编码方式,该编码方式现在仍然是国标码。
ISO-8859-1编码方式又被称为latin-1编码方式,主要支持西欧语言,仍然不支持中文。
* 随着计算机的继续发展,发展到亚洲之后,例如:中国、日本、韩国....为了支持这些国家的文字,
每个国家自己制定了属于自己国家的编码方式,例如中国包括简体中文和繁体中文
简体中文的编码方式:
GBK < GB2312 < GB18030 【容量从小到大】
繁体中文的编码方式:
Big5 【大五码】
* 随着计算机的继续发展,后来诞生了一种编码方式,统一了全球所有的文字,容量最大,可容纳全球任何国家的语言,这种编码方式叫做unicode
unicode编码方式具体实现:
UTF-8、UTF-16、UTF-32....
5、程序通常会见到乱码的情况:
* 数据存储之后的乱码
* 数据展示过程中的乱码
* 数据传递过程中的乱码
希望对你有帮助,祝你有一个好心情,加油!
- 关于程序中乱码解决方案上:乱码理解篇
- 关于程序中乱码解决方案下:乱码解决篇
- 程序中乱码解决方案
- 关于Linux下Java程序乱码解决方案
- URL上中文传参乱码解决方案
- URL上中文传参乱码解决方案
- 关于Jsp乱码解决方案
- 关于乱码的解决方案
- 关于乱码的解决方案
- 关于乱码的解决方案
- 关于Symbian,运行QT程序,读取和导入SQLITE数据库中中文,音标乱码的解决方案
- mysql5中乱码解决方案
- sqlplus中乱码解决方案
- SpringMVC中乱码解决方案
- Qt4程序中文乱码解决方案
- 关于中文字符串乱码解决方案
- 程序开发中乱码的出现情况及解决方案
- 关于引用js文件中出现乱码问题的解决方案
- NSString
- java中volatile关键字的含义
- Android-对相册中的图片进行上传或下载
- LinearLayout第一次单击无效
- c# 美化treeview
- 关于程序中乱码解决方案上:乱码理解篇
- Adventure of Super Mario UVA10269(floyd+dijstkra+动态规划)
- scala进阶22-case class消息传递
- Idea使用系统自带的sbt,并自定义repositories
- javaee之hibernate的加强巩固练习
- 深入理解Java内存模型(四)——volatile (P)
- 朴素贝叶斯文本分类
- 程序设计与算法 第三周测验
- hadoop常用命令总结