编码

 

老狐狸
[智者]
ANSI: American National Standards Institute 美国国家标准协会
此处的ANSI是指ANSI字符集。文本文件(.txt)中通常使用该编码。

UNICODE: 统一的字符编码标准, 采用双字节对字符进行编码
UNICODE UTF-8: UNICODE 双字节编码的一种最长用的编码方式。
UCS: Universal Character Set 统一的字符集
UTF: UCS Transformation Format UCS的传送格式
例如“汉”字的UCS编码是6C49,可以用4个ascii数字来传输、保存这个编码;也可以用utf-8编码: 3个连续的字节E6 B1 89来表示它。关键在于通信双方都要认可。UTF-8、UTF-7、UTF-16都是被广泛接受的方案。

对于我们汉字来说,最常用的编码是GB2312。

其实编码方式有很多,举例如下:

单字节编码:
US-ASCII
中欧 (ISO)
希腊文 (ISO)
...
双字节编码:
简体中文 (GB18030)
简体中文 (GB2312)
繁體中文 (Big5)
日文 (EUC)
日文 (Shift-JIS)
韩文 (EUC)
韩文 (ISO)
...
Unicode:
Unicode (UTF-8)
Unicode (UTF-16)
...

我们通常所说的汉字是指GB2312编码。

内码与外码:
我们常说汉字的"内码"与"外码"。内码是汉字在计算机内部存储,处理和传输用的信息编码。它必须与ASCII码兼容但又不能冲突,所以把国标码两个字节的最高位置'1',以区别于西文,这就是内码。汉字的输入码称为"外码"。输入码即指我们输入汉字时使用的编码。常见的外码分为数字编码(如区位码),拼音编码和字形编码(如五笔)。
再说区位码,"啊"的区位码是1601,写成16进制是0x10,0x01。这和计算机广泛使用的ASCII编码冲突。为了兼容00-7f的ASCII编码,我们在区位码的高、低字节上分别加上A0。这样"啊"的编码就成为B0A1。我们将加过两个A0的编码也称为GB2312编码,虽然GB2312的原文根本没提到这一点。
内码是指操作系统内部的字符编码。早期操作系统的内码是与语言相关的.现在的Windows在内部统一使用Unicode,然后用代码页适应各种语言,"内码"的概念就比较模糊了。我们一般将缺省代码页指定的编码说成是内码。内码这个词汇,并没有什么官方的定义。代码页也只是微软的一种习惯叫法。

参考文献:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

感谢一路走过的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值