首页 UTF-8编码格式.doc

UTF-8编码格式.doc

举报
开通vip

UTF-8编码格式.docUTF-8编码格式.doc 下列字节串用来表示一个字符. 用到哪个串取决于该字符在 Unicode 中的序号. U+00000000 - 0 xxxxxxx 0x - 7x U+0000007F: U+00000080 - 110 xxxxx 10 xxxxxx Cx 8x - Dx Bx U+000007FF: U+00000800 - 1110 xxxx 10 xxxxxx 10 xxxxxx Ex 8x 8x - Ex Bx Bx U+0000FFFF: U+00010000 - 11110 xxx...

UTF-8编码格式.doc
UTF-8编码格式.doc 下列字节串用来 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示一个字符. 用到哪个串取决于该字符在 Unicode 中的序号. U+00000000 - 0 xxxxxxx 0x - 7x U+0000007F: U+00000080 - 110 xxxxx 10 xxxxxx Cx 8x - Dx Bx U+000007FF: U+00000800 - 1110 xxxx 10 xxxxxx 10 xxxxxx Ex 8x 8x - Ex Bx Bx U+0000FFFF: U+00010000 - 11110 xxx 10 xxxxxx 10 xxxxxx 10 F0 8x 8x 8x - F7 Bx Bx U+001FFFFF: xxxxxx Bx 很U+00200000 - 111110 xx 10 xxxxxx 10 xxxxxx 10 F8 8x 8x 8x 8x - FB Bx 少U+03FFFFFF: xxxxxx 10 xxxxxx Bx Bx Bx 用 U+04000000 - 1111110 x 10 xxxxxx 10 xxxxxx 10 FC 8x 8x 8x 8x 8x - FD U+7FFFFFFF: xxxxxx 10 xxxxxx 10 xxxxxx Bx Bx Bx Bx Bx * FE FF从未在编码中出现过. * 除第一个字节外,其余字节都在 0x80 到 0xBF范围内,每个字符的起始位置用0xC0-0xD0,0xE0,0xF0等可以确定(验证前四位或八位),不在这一范围的即为单字节字符.凡是以0x80 到 0xBF开头的都是后继字节,计数时都要跳过. * Unicode是一种编码表,只将字符指定给某一数字(Unicode做得还要更多一些,比如提供比较及显示等很多算法等等); 而UTF-8是编码方式,是定义如何表示并存储指定编码的格式. * UTF-8编码转换为Unicode编码: 将所有标志位去除,剩余位数若不足则在高位补零,凑足32位即可. * Unicode编码转换为UTF-8编码: 从低位开始,每取6位补两个位10,不足6位(不算高位的0)则按字节长度补相应的字符标志位0、110、1110等 UTF-8是一种变长字节编码方式。对于某一个字符的UTF-8编码,如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的位数,其余各字节均以10开头。UTF-8最多可用到6个字节。 如表: 1字节 0xxxxxxx 2字节 110xxxxx 10xxxxxx 3字节 1110xxxx 10xxxxxx 10xxxxxx 4字节 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 5字节 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 6字节 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 因此UTF-8中可以用来表示字符编码的实际位数最多有31位,即上表中x所表示的位。除去那些控制位(每字节开头的10等),这些x表示的位与UNICODE编码是一一对应的,位高低顺序也相同。 实际将UNICODE转换为UTF-8编码时应先去除高位0,然后根据所剩编码的位数决定所需最小的UTF-8编码位数。 因此那些基本ASCII字符集中的字符(UNICODE兼容ASCII)只需要一个字节的UTF-8编码(7个二进制位)便可以表示。 对于上面的问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,代码中给出的两个字节是 十六进制:C0 B1 二进制:11000000 10110001 对比两个字节编码的表示方式: 110xxxxx 10xxxxxx 提取出对应的UNICODE编码: 00000 110001 可以看出此编码并非“ 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ”的UTF-8编码,因为其第一个字节的“有效编码”全为0,去除高位0后的编码仅有6位。由前面所述,此字符仅用一个字节的UTF-8编码表示就够了。 JAVA在把字符还原为UTF-8编码时,是按照“标准”的方式处理的,因此我们得到的是仅 有1个字节的编码。 大家可以试试运行这段代码: public class TestUTF8 { public static void main(String[] args) throws Exception { byte[][] bytes = { // 00110001 {(byte)0x31}, // 11000000 10110001 {(byte)0xC0,(byte)0xB1}, // 11100000 10000000 10110001 {(byte)0xE0,(byte)0x80,(byte)0xB1}, // 11110000 10000000 10000000 10110001 {(byte)0xF0,(byte)0x80,(byte)0x80,(byte)0xB1}, // 11111000 10000000 10000000 10000000 10110001 {(byte)0xF8,(byte)0x80,(byte)0x80,(byte)0x80,(byte)0xB1}, // 11111100 10000000 10000000 10000000 10000000 10110001 {(byte)0xFC,(byte)0x80,(byte)0x80,(byte)0x80,(byte)0x80,(byte)0xB1}, }; for (int i = 0; i < 6; i++) { String str = new String(bytes[i], "UTF-8"); System.out.println("原数组长度:" + bytes[i].length + "\t转换为字符串:" + str + "\t转回后数组长度:" + str.getBytes("UTF-8").length); } } } 运行结果为: 原数组长度:1 转换为字符串:1 转回后数组长度:1 原数组长度:2 转换为字符串:1 转回后数组长度:1 原数组长度:3 转换为字符串:1 转回后数组长度:1 原数组长度:4 转换为字符串:1 转回后数组长度:1 原数组长度:5 转换为字符串:1 转回后数组长度:1 原数组长度:6 转换为字符串:1 转回后数组长度:1 本文来自CSDN博客,转载请标明出处:
本文档为【UTF-8编码格式&#46;doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_977556
暂无简介~
格式:doc
大小:16KB
软件:Word
页数:4
分类:
上传时间:2018-03-21
浏览量:57