这些编码,早些时候在一些应用软件中经常看到,估计很多朋友也看到了,这些编码了!
从这个图,我们可以看到这类编码应用很广泛,那么我们一起看看,iso-8859-1字符集,到底是什么样字符集,有那些字符!为什么,它应用可以这么广泛!
计算机上面流行第一个字符集,是ascii码,是0-127 一个128字符。每个字符在里面有个对应编号,分别是0-127。如果用二进制表示,刚好是7位。这个字符集,在前期表示英文字符已经足够。后来,随着计算机普及,越来越多国家(欧洲),开始应用计算机,他们发现7位,共128字符。已经不能描述他们常用的字符了。因此想到要兼容ascii字符集,就指定了扩展ASCII字符集。最多是0-255,256个字符。其中0-127 128字符及位置编码 完全兼容ascii码。只是扩展了128-255位置编入了新字符!
该字符集,完全兼容ascii字符集,并且是刚好可以用一个字节表示里面所有字符位置。又称为扩展Ascii码!这也是第一个iso-8859-1字符集。又叫:Latin-1 编码(西欧编码),后来陆续出了iso-8859-2…-15字符集。都是完全兼容ascii码的。
说下几个概念吧,什么是字符集,什么是字符编码?
1、字符集,表示由一些指定的字符的所组成集合!ascii字符集,里面有128个字符
2、字符编码,每个字符集中字符,都有一个固定的编号,也叫该字符在字符集中的的编码!如:ascii字符集中,a 字符编码是97。
相同字符,会出现在多个字符集中吗,相同字符在不同字符集中编码一样吗?
从上面例子,我们可以看到,ascii字符集、iso-8859-1字符集 有128个字符相同的。经常相同的字符,可以出现在各个字符集中。但是,每个字符集对字符编号方式可能不同,因此,相同字符,在不同字符集中,编码结果可能不一样。当然,也有一样的!象ascii中所有字符编码,在iso-8859-1字符集中,都一样的。
弄清楚关于、字符集,字符编码概念。我们还有几个必须掌握的。就是,计算机是怎么样储存,显示字符的呢?
一个文件有很多符号组成,各式各样的!实际,计算机在存储时候,只是写入该字符所对应的字符编码值。将它存于磁盘或者在网络中传输!如果要显示时候,通过对应字符集中,字符编码值。然后可以转换到计算机 通用的字符集的对应字符编码。计算机每个字符形状,图像长相,都在字体中。然后,通过转换得到通用字符集的字符编码,找到对应的字符,及字体形状,然后显示出来!
字符在计算机存储、传输都是该字符所在字符集中编码值
好了,中间我们对字符概念做了很多的阐述、说明!下面,我们继续本页主题iso-8859-1字符集了。 它为什么能够这么广泛应用呢?
我们知道,单字节最多可以表示256字符,实际上很多字符(目前unicode有几十万字符),都需要用多个字节来存储!计算机在存储传输都以字节为单位!因此单字节的: iso-8859-1 是存储的最小单元。所以,无论你是多少个字节组成的字符,以单字节一个一个存储、传输!都不会改变原来的值,都可以很好保存它的值!计算机乱码,出现在显示的时候,在不正确的字符集中,查找对应字符编码的字符!经常是,编码选择字符集,跟做显示选择字符集不一致造成的!
在复制文件、传输文件不会造成字符编码问题。而出现问题时候,是字符做显示,或者将显示字符存储的时候,会出现问题!好了,这里面说的是iso-8859-1 其实,更多的是说说,字符编码的一些常识!明白这些,对于iso-8859-1的一些特点理解,可能 更容易了!
可能以前有朋友就问,我mysql是存中文的,为什么我选择字符集是Latin-1 ,是不是就出现乱码了。其实不会,它只是将接到任何字节,按照单字节,逐个逐个存储的。然后,读取时候,也逐个逐个字节的读出。没有改变任何保存内容,也没有做任何编码转换!这是,最为安全的!好了,就到这里了,欢迎朋友们交流!
作者:程默的博客 QQ:8292669
原文网址:http://blog.chacuo.net/371.html
订阅保持关注:http://blog.chacuo.net/feed
本文版权归作者所有,欢迎转载,请务必添加原文链接。