|
该帖已经被评为隐藏帖
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-03-31
什么是UTF8 以"I am Chinese"为例 以"我是中国人"为例 由此可见直接以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) 0001 0000-001F FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 编码步骤: 实例:(留意每个bit的颜色,粗体字为模板内容) UCS-4 UTF-8 不知大家看懂了没有,其实不懂也无所谓,反正又不用自己算,程式可以完全代劳。 以UTF8格式储存的文件档首标识为EF BB BF。
从上述编码原理中得出的结论是: 由此可见UTF8对英文来说是个非常诱人的方案,但对中文来说则不太合算,无论用ANSI还是 Unicode/UCS2来编码都只用2 Bytes,但用UTF8则需要3 Bytes。 以下是一些统计资料,显示用UTF8来储存文件每个字符所需的平均字节: 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
浏览 129 次


