β

字符集及其存储方式(解决乱码问题)

Harries Blog™ 66 阅读

阅读大概需要4分钟 字符集及其存储方式(解决乱码问题)

在我们进行 文本挖掘 或 处理文档 时,都要面临一个最最基本的问题->就是解决 乱码 问题。在此,介绍最 本质 的字符编码。

我们熟悉的有三种: ASCII 字符集,中文字符集( GBK ), Unicode 字符集

ASCII字符集

故事:

美国 信息交换标准 代码 ,这是计算机上 最早 使用的通用的编码方案。那个时候计算机还只是拉丁文字的专利,根本没有想到现在计算机的发展势头,如果想到了,可能一开始就会使用unicode了。当时绝大部分专家都认为,要用计算机,必须熟练掌握英文。这种编码占用 7个Bit ,在计算机中占用一个字节,8位, 最高位 没用,通讯的时候有时用作 奇偶校验位 。因此ASCII编码的取值范围实际上是:0x00-0x7f,只能表示 128 个字符。后来发现128个不太够用,做了扩展,叫做 ASCII扩展编码 ,用足八位,取值范围变成:0x00-0xff,能表示 256 个字符。其实这种扩展意义不大,因为256个字符表示一些非拉丁文字远远不够,但是表示拉丁文字,又用不完。所以扩展的意义还是为了下面的 ANSI编码 服务。

– 单字节 存储

用 一个字节 (8位)来表示字符

共2^7=128个字符

字符集及其存储方式(解决乱码问题)

字符集:规则的集合

字符  -> 字符对应的二进制数字

存储方式:

字符对应的二进制数字  -> 实际存储数值

中文字符集

GBK 全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称: Chinese Internal Code Specifi cat ion ) ,中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部 科技 质量 监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。这一版的GBK规范为1.0版。

产生原因:ASCII 字符集 无法表示中文

GBK等汉字编码:

多字节 存储, 兼容ASCII , 存储方式:EUC4-CN

高位为1 的字节,表示其是一个双字节二进制码

Unicode

作者:Harries Blog™
追心中的海,逐世界的梦
原文地址:字符集及其存储方式(解决乱码问题), 感谢原作者分享。

发表评论