Blogger Information
Blog 13
fans 0
comment 0
visits 11334
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
编码
莫名的博客
Original
959 people have browsed it

问题描述:

一直以来都是用各种语言来写程序,却不知程序底部到底是什么?也经常遇到一些编码,乱码问题,觉得很是杂乱。所以,这次通过查找资料来探究一下编码问题。


ANSIC码:

只要跟机器打交道的都知道机器知道1和0,1表示打开,0表示关闭。科学家们决定用8个开关来代表一个字节,8个开关一共有256种状态,每个状态分别代表了大小写字母,数字,标点符号,空格,这就是ANSIC标准。这样,一个字节就能表示一个基本的符号了,不同字节组合起来,能表示一个单词,句子等来描绘世间万物。


GB2312和GBK,GB18030

后来我国国人也开始使用了计算机了,但是这美国佬的计算机只对自己语言进行的编码,我们博大精深的汉语计算机识别不了啊。但是这难不倒我国人的智慧。我们决定使用大于127的两个字符作为一个中文汉。,数学符号、罗马希腊的字母、日文的假名我们都编进去了,连在 ASCII 里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的”全角”字符,而原来在127号以下的那些就叫”半角”字符了。

但是我国汉字博大精深,GB2312无法表示所有的汉字,所以,就以就决定第一位大于127,不管后一位是否大于127,来表示汉字。这下你以为汉字够用了。是的,我国还是一个多少数民族的国家,少数民族也得用计算机,于是有进行了扩展,最后形成GB18030、


unicode和utf-8

这下问题来了?

如果每个国家都使用各自的编码,那么,谁也听不懂谁在说什么。这时候一个叫做ISO的组织出现了,规定用两个字节,也就是16位来统一表示所有的字符,对于ASCII里的那些“半角”字符,unicode包持其原编码不变,只是将其长度由原来的8位扩展为16位,而其他文化和语言的字符则全部重新统一编码。

但是,又伴随一些新的问题,第一,怎么知道我的是两个字节表示一个符号,还是两个符号。第二,只需要一个字节的,使用两个字节是不是过于浪费。所以。这就是出现了utf-8,它具体来说是unicode一种实现方案,它是可变长编码,它是为传输设计的一种编码方式,每次以8个位传输数据,解决了资源传输的浪费问题。


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post