作者yydon (歪歪冻)
看板C_Sharp
标题Re: [问题] byte array 如何转 char array ??
时间Tue Mar 8 13:14:09 2005
:※ 引述《chiifan (短长肥脊各有态)》之铭言:
: ※ 引述《AuronC (阿隆西)》之铭言:
: : int i;
: : byte[] byteAry = {65, 66, 67};
: : char[] charAry = new char[3];
: : for( i=0; i<3; i++ )
: : charAry[i] = Convert.ToChar( byteAry[i] );
: : Console.WriteLine( byteAry ); // output : System.byte []
: : Console.WriteLine( charAry ); // output : ABC
: : 小弟写了上述程式,有2个问题向大家讨教:
: : Q1 :
: : for( i=0; i<3; i++ )
: : charAry[i] = Convert.ToChar( byteAry[i] );
: : 请问有没有function,直接一次接 byteAry to charAry ??
: : Q2 :
: : Console.WriteLine( byteAry ); // output : System.byte []
: : 有没有function让其输出为 ABC ??
: : 谢谢大家。
: 之前碰到过,自己写的...请参考...
: using System.Text;
: public static string BytesToString(byte[] source)
: {
: StringBuilder output = new StringBuilder();
: foreach (byte b in source)
: output.Append((char)b); // output : ABC
: return output.ToString();
: }
: 上面如果output.Append((char)b) 改成output.Append(b)
: 输出变成656667
: 但还是希望有大大能告知class library是否有支援...一劳永逸阿...
用Encoding类别
byte[] byteAry = {65, 66, 67};
char[] charAry = System.Text.Encoding.ASCII.GetChars(byteAry);
string s = System.Text.Encoding.ASCII.GetString(byteAry);
Console.WriteLine( charAry );
Console.WriteLine( s );
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.105.143