byte[]、string、char[]互相转换

string转byte[]:

byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );

byte[]转string:

string str = System.Text.Encoding.Default.GetString ( byteArray );

string转char[]:

char[] ch= str.ToCharArray();

char[]转string:

string str = new string(ch);

char[]转byte[]:

byte[] buffer = Encoding.Default.GetBytes(ch);

byte[]转char[]:

char[] ch = Encoding.Default.GetChars(buffer);

可以看到上面有许多Encoding.Default。所谓Encoding.Default,是指当前系统设置的“默认字符集编码方式”。一般情况下,中文操作系统都是GB2312的编码。可以通过依次单击开始——所有程序——附件——命令提示符,打开命令提示符。或者按win+R弹出下列窗口然后输入cmd.exe的方式查看。输入chcp。 发现返回的是936。
936 代表GBK 扩展的EUC-CN 编码( GB 2312-80编码,包含 6763 个汉字)到Unicode (GB13000.1-93)中定义的20902个汉字,即中国大陆使用的是简体中文zh_CN。
byte[]、string、char[]互相转换_第1张图片 chcp
于是在本机,下列三个编码方式是一模一样的。

Encoding.GetEncoding(936)
Encoding.Default
Encoding.GetEncoding("GBK")

你可能感兴趣的:(C#)