您的位置:首页 > 其它

关于utf-8,utf-7,unicode几种编码的区别

2006-10-11 23:20 363 查看
今天上csdn论坛时看到一个关于utf-8,utf-7......几种编码的区别,说法不一,虽然经常使用这几种编码,咋一想,还真有点模糊,于是百度一下,找了一些相关文章,总结如下(仅代表个人观点):

unicode :

每个字符2个字节

utf-8:

英文字符即能用8位表示的字符用1个字节表示

能用8 到 11位 表示的字符用2个字节表示

能用12 到 16 位表示的字符用2个字节表示

utf-7:

遇英语字母、数字和常见符号直接用8位表示(不过我也没搞清楚什么时常见符号,如"&"符就会当成非常见字符。。。)

其他的符号串用+-来标记始终,如"a中中a"

在遇到中时会如下编码

a的编码 +的编码 中的编码 中的编码 -的编码 a的编码

共6个字节。。。

测试代码


a = "a中中a";


byte[] bb = Encoding.UTF8.GetBytes(a);


Console.WriteLine("长度:" + bb.Length);


foreach (byte bbb in bb)




...{


Console.Write(bbb.ToString()+" ");


}


bb = Encoding.UTF7.GetBytes(a);


Console.WriteLine();


Console.WriteLine("长度:"+bb.Length);


foreach (byte bbb in bb)




...{


Console.Write(bbb.ToString() + " ");


}


bb = Encoding.ASCII.GetBytes(a);


Console.WriteLine();


Console.WriteLine("长度:" + bb.Length);


foreach (byte bbb in bb)




...{


Console.Write(bbb.ToString() + " ");


}


Console.ReadLine();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: