c#中提供字节数组和字符串的相互转换的类:System.Text.Encoding
一:字符串-->字节数组,需要调用System.Text.Encoding中各种编码类的GetBytes方法。
二:字节数组-->字符串,需要调用System.Text.Encoding中各种编码类的GetString方法。
System.Text.Encoding
Encoding类负责字符的编码和字节序列的解码。编码是一个将一组 Unicode 字符转换为一个字节序列的过程,而解码是将一个编码字节序列转换为一组 Unicode 字符的过程。Encoding 类主要用于在不同的编码和 Unicode 之间进行转换。
Encoding类中有几个静态属性用于提供更快的获得这些编码类,有:Unicode BigEndianUnicode UTF32 UTF7 UTF8 ASCII Default ,也可以使用GetEncoding(Int32) GetEncoding(String)方法通过编码代号和名称来获取相应的编码类。GetEncodings()将以数组的形式返回系统支持的所有编码类。
一些常用编码的代号和名称:
936
gb2312
简体中文 (GB2312)
950
big5
繁体中文 (Big5)
1200
utf-16
Unicode
12000
utf-32
Unicode (UTF-32)
20127
us-ascii
US-ASCII
28591
iso-8859-1
西欧字符 (ISO)
常用方法:
GetString已重载。 在派生类中重写时,将一个字节序列解码为一个字符串。
GetChars已重载。 在派生类中重写时,将一个字节序列解码为一组字符。
GetBytes已重载。 在派生类中重写时,将一组字符编码为一个字节序列。
GetByteCount已重载。 在派生类中重写时,计算对一组字符进行编码所产生的字节数。
GetCharCount已重载。 在派生类中被重写时,计算对字节序列进行解码所产生的字符数。
GetDecoder在派生类中重写时,获取一个解码器,该解码器将已编码的字节序列转换为字符序列。
GetEncoder在派生类中重写时,获取一个解码器,该解码器将Unicode字符序列转换为已编码的字节序列