探究Web常用编码

  

今天呢,小编决定带着6个方面一路探究网络编码。

  

1,问:为啥要编码?

  

答:计算机存储信息的最小单位是1字节(钻头),然而一个字节最多能表示0 - 255个符号,但是人类自然语言中的符号又那么多,像汉语,韩语、日语等一个字节怎么能表示的过来,所以必须要有一个新的结构字符来编码。

  

2,常见的编码格式有哪些?

  

<强>,ASCII码
总共128个,使用一个字节的低7位表示,0-31是控制字符如:换行,回车,删除等;32 - 126是打印字符,可以通过键盘的输入打印出来。
如:

  
 <代码> System.err.println (A + 32);
  char abcd=A + 32;
  System.err.println (abcd);  
  

得到:   

探究Web常用编码

  

<强> B, ISO - 8859 - 1
ISO提到这个名字我就想到了,食品安全上的那个镜像组织在ASCII码的基础上利用单个字节的所有位定制了一系列标准扩展ASCII编码,ISO - 8859 - 1仍然是单字节编码,总共256个字符。我们下面提到的浏览器编码规则就是依据于此。
<强> C, GB2312
全称《信息技术中文编码字符串》,它采用双字节编码,范围是A1-F7,其中A1-A9是符号区有682个符号;B0-F7是汉字区包含6763个汉字。
<强> D, GBK
全称《汉字内码扩展规范》是国家技术监督局为windows95定制的新的内码规范,是扩展GB2312用的,因为汉字不止6763个,你懂的。加入了更多的汉字,编码范围是8140 -象皮病,总共23940个这下够用了。
<强> E, utf - 16
utf - 16定义了Unicode字符在计算机中的存取方法,utf - 16使用两个字节表示Unicode的转化格式,是固定长度的表示方式,无论什么字符utf - 16都用两个字节表示,两个字节是16位,所以叫utf - 16你又懂得。
<强> F, utf - 8
互联网的普及,市面上所见之处都是utf - 8,是互联网上使用最广泛的Unicode实现方式(下面降Unicode)。上面所讲utf - 16表示起来很方便的了,但是存储上是不是多占用了空间,因为无论你用不用都给你2个字节。而utf - 8编码规则如下:

  

①对于单字节符号,字节的第一位设为0,后7位是这个符号的Unicode码。因此utf - 8包含ASCII码。
②对于n位字节的符号(n> 1),第一个字节都设为1,第n + 1位设为0,后面字节的前两位一律设为10,其余的都为这个符号的Unicode码。

  

<强> G, Unicode
就小编知道的编码格式大概有30种左右吧,像阿拉伯文(ASMO 708),俄语——西里尔文(DOS),日文(shift - JIS),中国——简体中文(GB2312),繁体中文(繁体),Unicode, Unicode(大端)中欧(Windows),西里尔文(KOI8-R),西里尔文(KOI8-U),阿拉伯文(ISO),希伯来文(ISO-Visual),希伯来文(ISO-Logical),日文(JIS),韩文(ISO),日文(EUC),韩文(EUC),简体中文(HZ), Unicode (utf - 7), Unicode (utf - 8)等。
如果有一种编码将世界上所有符号都纳入其中,每一个符号都给予一个独一无二的编码,那么乱码问题就不会有了对吧,这就是Unicode.Unicode是一个庞大的集合,可以容纳百万计符号。

  

3,浏览器界面编码格式

  

在浏览器调试界面,我们选择控制台,然后输入document.charset即可获取当前界面的编码规则。我们可以看到三种浏览器:谷歌,火狐,IE的编码均为utf - 8,因为是互联网上使用最广泛的Unicode实现方式:

  

探究Web常用编码

  

4,浏览器URL编码方式

  

客户端想服务器发送请求四种情况:
1,表单后提交;
2,表单得到提交;
3页面链接;
4, URL方式直接访问
而URL包含中文无非有两种情况:
1, URL路径包含中文即
https://abcd/测试/出版
这种类型的,从这么多年的上网经验来讲,我没见过这种路径。
2, URL参数包含中文,这问题比较常见。
我们看到当URL包含中文参数时,浏览器做了转码。
探究Web常用编码”> <br/>这一点上,分两种情况IE和非IE,因为IE用的是GBK转码,非IE用的是utf - 8转码,而我们在windows系统上查询默认的编码就是GBK。<br/> <img src=

  

在URL进行参数传递的时候,要处理处理中文参数那么这里就要注意了,我们有三种解决方案(javascript转码,配置过滤器过滤器,修改中间件server.xml),这里我们考虑最简单的js转码方案。用户从浏览器发起一个Http请求,存在编码的地方是URL,饼干,参数。服务器端接受到Http请求后要解析Http,其中URL,饼干和职位表单参数需要解码,服务器端还可能读取数据库数据或者文本文件,都可能存在编码问题。当servlet处理完所有请求数据后,再将这些数据编码通过插座发送到用户请求的浏览器里,经浏览器解析成文本。

探究Web常用编码