为什么unicode不像gb码那样,英文单字节,非英文多字节呢?

不同视角、不同观点、深度探讨,禁止人品和道德攻击
回复
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

为什么unicode不像gb码那样,英文单字节,非英文多字节呢?

#1

帖子 科学之子 » 2014-04-30 1:04

为什么unicode不像gb码那样,英文单字节,非英文多字节呢?
如果这样定义的话,unicode在英文和非英文混写时,都能有效利用空间,不会出现要么英文多占,要么非英文多占.

Thu May 1 15:36:14 CST 2014补充:
我的意思为什么unicode没有一个实现版本把所有国家的语言都定义成一个巨大的ansi扩展编码?
utf8:非英文编码长度不固定,处理难度大.
utf16,32:英文表示效率低.
ansi扩展:就像GB一样,只不过中国出的只支持自己,如果换成联合国,就支持所有国家了.
上次由 科学之子 在 2014-05-01 15:41,总共编辑 1 次。
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 为什么unicode不像gb码那样,英文单字节,非英文多字节呢?

#2

帖子 YeLee » 2014-04-30 9:18

那是utf8吧,在zh_CN.UTF-8里面,本来英文就是只占一个字节的吧,不同的只是编码方式而已,不然,C里就不会有char跟wchar_t的区别了吧。 :em20
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 为什么unicode不像gb码那样,英文单字节,非英文多字节呢?

#3

帖子 eexpress » 2014-04-30 10:52

没分清unicode和utf8 utf16吧。不同的概念。
● 鸣学
头像
TeliuTe
论坛版主
帖子: 7668
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
联系:

Re: 为什么unicode不像gb码那样,英文单字节,非英文多字节呢?

#4

帖子 TeliuTe » 2014-04-30 10:57

在leafpad里试了下,保存为utf8,一个字母占一个字节
附件
byte.png
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 为什么unicode不像gb码那样,英文单字节,非英文多字节呢?

#5

帖子 科学之子 » 2014-05-01 15:33

TeliuTe 写了:在leafpad里试了下,保存为utf8,一个字母占一个字节
utf8,英文占一个,汉字占两个或多个.
utf16,英文占站两个,一个汉字占两个.
仔细想想,其实空间也不是问题,ansi扩展表示非英文也会字节增加.
真正的问题是长度的不确定性,处理起来会有难度.
如果有一个巨大的ansi扩展码,把多个国家的字符当成一个国家的字符来处理,就用不着变长了.
rosynirvana
帖子: 893
注册时间: 2011-02-14 17:46

Re: 为什么unicode不像gb码那样,英文单字节,非英文多字节呢?

#7

帖子 rosynirvana » 2014-12-05 1:58

unicode只有字符映射关系,没规定具体编码
例如A的unicode编码是65,这个65怎么编码unicode是不管的,utf-8用一个字节,UCS-2用两个字节
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 为什么unicode不像gb码那样,英文单字节,非英文多字节呢?

#8

帖子 poloshiao » 2014-12-05 7:18

如果有一个巨大的ansi扩展码,把多个国家的字符当成一个国家的字符来处理,就用不着变长了.
ANSI
http://zh.wikipedia.org/wiki/%E7%BE%8E% ... 4%E6%9C%83
ASCII
http://zh.wikipedia.org/wiki/ASCII
EASCII(Extended ASCII,延伸美國標準資訊交換碼)
http://zh.wikipedia.org/wiki/EASCII
Unicode
http://zh.wikipedia.org/wiki/Unicode
UTF-8
http://zh.wikipedia.org/wiki/UTF-8
UTF-16
http://zh.wikipedia.org/wiki/UTF-16
UTF-32
http://zh.wikipedia.org/wiki/UTF-32
Base64
http://zh.wikipedia.org/wiki/Base64

Comparison of Unicode encodings
http://en.wikipedia.org/wiki/Comparison ... _encodings
回复