计算机基础-----编码问题

版权声明:本文为博主原创文章,未经博主允许不得转载,转载请注明出处。 https://blog.csdn.net/m0_37482190/article/details/86543912

编码问题一直是很多新手头疼的问题,尤其是在你敲出来的不是乱码,网页或后台出现了乱码的情况下,出现这些问题,大部分是由于编码格式问题。
写这篇博客就是想把我了解的编码问题总结下来,希望可以解释清楚,供大家参考。

我们先看一个数据传输过程的例子来理解一下编码的作用:
前端页面<—>Tomcat<—>java程序<—>数据库
在这里插入图片描述
图中我们可以看到,数据在传输的过程中是按照0101二进制格式传输的,例如我们在前台页面设定了utf-8格式,传输前会先被解析为0101的二进制格式,等数据传输到Tomcat时,由于http协议标识着前端用utf-8格式进行编码的,所以Tomcat会把接收的二进制数据按照utf-8格式还原,从而保证不会出现乱码问题。但是有些工具有默认的编码格式,会按照自己认为的格式解析,从而出现乱码,需要更改默认编码格式。

如果说没有编码的出现,从前台到Tomcat二者的格式不同,无法对接识别,双方没有一个统一的识别规则,那么前后端数据就是不可交互或者不可相互理解的。

下面我具体了解一下

什么是编码

编码是信息从一种形式或格式转换为另一种形式的过程,也称为计算机编程语言的代码简称编码。用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。

在计算机硬件中,编码(coding)是指用代码来表示各组数据资料,使其成为可利用计算机进行处理和分析的信息。代码是用来表示事物的记号,它可以用数字、字母、特殊的符号或它们之间的组合来表示
将数据转换为代码或编码字符,并能译为原数据形式。是计算机书写指令的过程,程序设计中的一部分。

编码发展简介

该编码发展简史引自该博客,略有修改
●计算机在美国问世,八位字节的ASCII码被创建,52个大小写英语字母、空格、标点符号、数字等用八位的字节(25种不同的状态)完全满足美国人需求。
● 中国人民通过对 ASCII 编码的中文扩充改造,产生了 GB2312 编码,可以表示6000多个常用汉字。
● 汉字实在是太多了,包括繁体和各种字符,于是产生了 GBK 编码,它包括了 GB2312 中的编码,同时扩充了很多。
● 中国是个多民族国家,各个民族几乎都有自己独立的语言系统,为了表示那些字符,继续把 GBK 编码扩充为 GB18030 编码。
● 每个国家都像中国一样,把自己的语言编码,于是出现了各种各样的编码,如果你不安装相应的编码,就无法解释相应编码想表达的内容。
● 有个叫 ISO 的组织看不下去了。创造了一种编码 UNICODE ,这种编码非常大,可以容纳世界上任何一个文字和标志。所以只要电脑上有 UNICODE 这种编码系统,无论是全球哪种文字,只需要保存文件的时候,保存成 UNICODE 编码就可以被其他电脑正常解释。
● UNICODE 在网络传输中,出现了两个标准 UTF-8 和 UTF-16,分别每次传输 8个位和 16个位。

于是就会有人产生疑问,UTF-8 既然能保存那么多文字、符号,为什么国内还有这么多使用 GBK 等编码的人?因为 UTF-8 等编码体积比较大,占电脑空间比较多,如果面向的使用人群绝大部分都是中国人,用 GBK 等编码也可以。但是目前的电脑来看,硬盘都是白菜价,电脑性能也已经足够无视这点性能的消耗了。所以推荐所有的网页使用统一编码:UTF-8。

如何查看和修改某文档的编码

1,直接使用记事本查看和修改。我们可以用记事本打开文件,点击左上角的 “文件” ---->“另存为”,弹出一个保存的窗口。在下面选择好编码,点击保存即可。
但是这种方式的选择余地非常小,通常用来快速查看文件是什么编码。
推荐大家使用下面这种方法
2,使用其他文本编辑器(例如:notepad ++)来查看修改。几乎所有的成熟的文本编辑器(例如:Dreamweaver、Emeditor等),都可以快速查看或修改文件编码。这一点尤其体现在notepad++ 上面。
打开一个文件之后,会在右下角显示当前文件的编码。
点击上面菜单栏中的 “encoding” 即可把当前文档转换成其他编码

当然我们很多软件有自己的默认编码格式,当我们使用时出现乱码格式,首先要更改默认编码格式为你想要的编码格式。

希望大家对编码问题有了一个新的了解。

猜你喜欢

转载自blog.csdn.net/m0_37482190/article/details/86543912
今日推荐