社区
消息协作
帖子详情
请美丽、善良、大方、随和、温柔的kitty进来!
zhjian6
2004-04-29 04:39:31
http://expert.csdn.net/Expert/topic/2974/2974400.xml?temp=.3102991
这个问题!
...全文
42
6
打赏
收藏
请美丽、善良、大方、随和、温柔的kitty进来!
http://expert.csdn.net/Expert/topic/2974/2974400.xml?temp=.3102991 这个问题!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kitty61
2004-04-29
打赏
举报
回复
呵呵,是啊,智慧一小点、美丽多一点。
zhjian6
2004-04-29
打赏
举报
回复
厉害,果然是,美丽与智慧并存!
kitty61
2004-04-29
打赏
举报
回复
UTF8并不算是一种电脑编码,而是一种储存和传送的格式,如前所述,每个Unicode/UCS字符都以 2或4个bytes来储存,看看以下的比较:
以"I am Chinese"为例
用ANSI储存:12 Bytes
用Unicode/UCS2储存:24 Bytes + 2 Bytes(header)
用UCS4储存:48 Bytes + 4 Bytes(header)
以"我是中国人"为例
用ANSI储存:10 Bytes
用Unicode/UCS2储存:10 Bytes + 2 Bytes(header)
用UCS4储存:20 Bytes + 4 Bytes(header)
由此可见直接以Unicode/UCS的原始形式来储存是一种极大的浪费,而且也不利于互联网的传输(中文稍为合算一点^_^)。
有见及此,Unicode/UCS的压缩形式--UTF8出现了,套用官方网站的首句话『UTF-8 stands for Unicode Transformation Format-8. It is an octet (8-bit) lossless encoding of Unicode characters.』,由于UTF也适用于编码UCS,故亦可称为『UCS transformation formats (UTF)』
UTF8是以8bits即1Bytes为编码的最基本单位,当然也可以有基于16bits和32bits的形式,分别称为UTF16和UTF32,但目前用得不多,而UTF8则被广泛应用在文件储存和网络传输中。
编码原理
先看这个模板:
UCS-4 range (hex.) UTF-8 octet sequence (binary)
0000 0000-0000 007F 0xxxxxxx
0000 0080-0000 07FF 110xxxxx 10xxxxxx
0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-001F FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
0020 0000-03FF FFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
0400 0000-7FFF FFFF 1111110x 10xxxxxx ... 10xxxxxx
编码步骤:
1) 首先确定需要多少个8bits(octets)
2) 按照上述模板填充每个octets的高位bits
3) 把字符的bits填充至x中,字符顺序:低位→高位,UTF8顺序:最后一个octet的最末位x→第一个octet最高位x
4) 解码的原理一样。
实例:(留意每个bit的颜色,粗体字为模板内容)
UCS-4 UTF-8
HEX BIN Bytes BIN HEX Bytes
0000 000A 00001010 4 00001010 0A 1
0000 0099 10011001 4 11000010 10011001 C2 99 2
0000 8D99 10001101 10011001 4 11101000 10110110 10011001 E8 B6 99 3
不知大家看懂了没有,其实不懂也无所谓,反正又不用自己算,程式可以完全代劳。
以UTF8格式储存的文件档首标识为EF BB BF。
效率
从上述编码原理中得出的结论是:
1.每个英文字母、数字所占的空间为1 Byte;
2.泛欧语系、斯拉夫语字母占2 Bytes;
3.汉字占3 Bytes。
由此可见UTF8对英文来说是个非常诱人的方案,但对中文来说则不太合算,无论用ANSI还是 Unicode/UCS2来编码都只用2 Bytes,但用UTF8则需要3 Bytes。
以下是一些统计资料,显示用UTF8来储存文件每个字符所需的平均字节:
1.拉丁语系平均用1.1 Bytes;
2.希腊文、俄文、阿拉伯文和希伯莱文平均用1.7 Bytes;
3.其他大部份文字如中文、日文、韩文、Hindi(北印度语)用约3 Bytes;
4.用超过4 Bytes的都是些非常少用的文字符号。
zhjian6
2004-04-29
打赏
举报
回复
UTF8编码是什么原理?
kitty61
2004-04-29
打赏
举报
回复
呵呵,这还差不多^-^
kitty61
2004-04-29
打赏
举报
回复
是UFT8编码
怎样激火一个儒雅
随和
的程序员呢
青年不会笑青年今天 程序员的任务是编程,这是一个对逻辑性要求极高的工作。 ...别人被电影剧情感动的无法自拔时,程序员在考虑剧情逻辑是否合理;...别人在购物网站买买买时,程序员在考虑网站交互设计是否高效;...
我是白羊女生我怕谁!!!不了解我的人
进来
看看,爱我的人也
进来
看看,看过之后,你们会更加了解我!...
不了解我的人
进来
看看,爱我的人也
进来
看看,看过之后,你们会更加了解我! 2011年01月26日 2011年白羊座很难实现真正意义上的情感平衡,爱情的给予或接受都是无私的,就像是亲情一样是不求回报的,然而白羊常常...
儒雅
随和
——当代年轻人职场沟通技巧展示
“当你辱骂员工时,70后说老板骂的是,80后不吭声,90后立马走人,00后会打老板一顿。”你是否为领导的不合理需求烦恼?你是否因同事的甩锅而苦闷?你是否为遭遇职业生涯瓶颈夜不能寐?
请
认真...
东南亚的IT公司,我劝你
善良
!
威胁,辱骂,恐吓,裸体视频,肢体损害,他们有的是方法吓唬你,不要忘了,敢做博彩的人,都不是儒雅
随和
的人。 然后程序员就像黑砖窑里的工人一样,麻木地被逼着输出代码,一天一天的榨干 。 直到找到机会逃...
随和
好不好??
各位师兄师弟们,现在发现自己是个特别
随和
的人,,隐约的感受到它可能会给我带来很多负面影响。想听听你们的见解:你们是怎么看待
随和
的性格呢?呵呵,欢迎讨论!
消息协作
536
社区成员
39,097
社区内容
发帖
与我相关
我的任务
消息协作
企业开发 Exchange Server
复制链接
扫一扫
分享
社区描述
企业开发 Exchange Server
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章