编码知识

ANSI

为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符。比如:汉字 '中' 在中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。 不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。 不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。

 

VC++的多字节编码方案其实就是ANSI编码,微软坑爹啊,搞糊涂了多少程序员

 

Unicode

Unicode有两个版本UCS2和UCS4

UCS2可以保存65535个字符

UCS4理论上可以保存65535 * 65535,几乎把所有的字符都能包进去了

 

Unicode只是一个字符集,具体在计算机怎么表示和存储要使用utf编码,通常的utf编码有utf8,utf16,u6f32

 

除windows以外,大多系统都采用了ucs4编码集,但windows使用ucs2, 其他系统的编码方案大多是utf8,windows是utf16.

windows所谓的Unicode其实只是UCS4的一个子集,就算用了Unicode各国文字也无法混排。

windows又一次坑爹。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值