Re: [問題] byte array 如何轉 char array ??
:※ 引述《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
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章