首先应该把字节数组看成是String的载体。
dot Net使用的字符串String是Unicode编码的;它也是以Unicode编码的形式显示字符串。
以下是用自己语言对几个常用函数的说明:
(自己总结的,反正看不明MSDN)
bytes=System.Text.Encoding.Unicode.GetBytes(str)
作用:把str的载体作Unicode->Unicode的编码转换--也就是没有对载体作任何的转换。因些使用此函数可以得代表该String载体的字节数组。
str=System.Text.Encoding.Unicode.GetString(bytes)
作用:对字节数组作Unicode->Unicode的编码转换--即没有转换,把经过转换后的字节数组作为str的载体。
bytes=System.Text.Encoding.Utf8.GetBytes(str)
作用:把str的载体作Utf8->Unicode的编码转换。返回的是经过转换后的字符数组
str=System.Text.Encoding.Utf8.GetString(bytes)
作用:对字节数组作Gb2312->Unicode的编码转换,把经过转换后的字节数组作为str的载体。
bytes=System.Text.Encoding.GetEncoding("GB2312").GetBytes(str)
作用:把str的载体作Gb2312->Unicode的编码转换。返回的是经过转换后的字符数组
str=System.Text.Encoding.GetEncoding("GB2312").GetString(bytes)
作用:对字节数组作Gb2312->Unicode的编码转换,把经过转换后的字节数组作为str的载体。
如此类推
bytes=System.Text.Encoding.GetEncoding("XXX").GetBytes(str)
作用:把str的载体作XXX->Unicode的编码转换。返回的是经过转换后的字符数组
str=System.Text.Encoding.GetEncoding("XXX").GetString(bytes)
作用:对字节数组作XXX->Unicode的编码转换,把经过转换后的字节数组作为str的载体。