首页 / 网页编程 / ASP.NET / 编码,charset,乱码,unicode,utf-8与.net简单释义(续)
编码,charset,乱码,unicode,utf-8与.net简单释义(续)2012-01-18 Kevin Zou 上篇blog讲了一下unicode等编码的问题﹐不过并没有涉及程序﹐所以这次就用.net来证实一下上次的这些东东。在证明那些东东之前﹐首先把.net中关于处理encoding,二进制,16进制,byte等相关类别和方法罗列一下。1.byte与string(那些255以内的整数)的相互转换(各种进制之间的相互转换)使用System.Convert类别string to byteConvert.ToByte(string,base)base:2表示二进制,8表示八进制,10表示十进制,16表示十六进制(你要输入33,呵呵﹐异常)这样可以把字符串的(0--255)转成一个byteConvert.ToByte("01000001",2)转成 65Convert.ToByte("255",10)转成255Convert.ToByte("42",16)转成66同理﹐byte to string也是Convert类Convert.ToString(byte,base)同样可以转成相应的进制表示的字符串通过这两个方法﹐我们要进行2,8,10,16进制的相互转换就容易了2.char,int,long,boolean等与byte[]之间的相互转换(这些数据在内存中的存储状况)使用System.BitConverter类别我们都知道char,int,long等基本类型是以字节形式存在内存中的﹐所以要查看其内存存储方式则直接使用BitConverter.GetBytes()就可以了然后再使用BitConverter.ToString(byte[])就可以以string方式查看了(如:f9-03表示2个字节)string是由char组成的﹐只要foreach(char in string)就可以看到string的存储方式了(实验表明﹐string在内存中是以unicode编码存在的,下有示例)