- 论坛徽章:
- 0
|
本帖最后由 ivorning 于 2014-12-04 14:26 编辑
最近看了点字符集方面的东西,有了些自己的理解,请各位大虾看下我的理解有无偏差,顺便解决一个困扰我的问题,感谢
个人理解:
1、字符集与字符编码是两个概念,字符集是一群字符的集合,字符编码是对照某个字符集进行一定的编码,让字符集中的字符可以和其他东西的集合形成一个映射,比如数字、脉冲。一个字符集会有多种字符编码方式。
2、在linux中设置字符集比如设置为gbk仅仅是支持你可以输入中文,你的显示与你设置的字符集无关,即使你设置的不是gbk的字符集你一样可以显示中文,显示文本的过程类似于操作系统在查询一个密码本,你的本地拥有各种密码本,只要你要显示的内容指明了他的编码方式,操作系统都可以正确的显示出来,与你设置的当前字符集无关
疑问:
在linux操作系统上做了个小实验,vi了一个文本文件,里面输入了几个中文,目前的系统中环境设置如下:
LANG=POSIX
LC_CTYPE=zh_CN.gbk
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
编辑完成后,执行命令file -i 1.txt,结果显示如下:
localhost:/home/test/cn # file -i t.txt
t.txt: text/plain charset=iso-8859-1
各位大侠,请问这是为啥,问啥我的环境设置的是zh_CN.gbk,编辑出来的文件却是charset=iso-8859-1,求各位不吝赐教,感谢~~:hug: |
|