Re: [問題] byte array 如何轉 char array ??

看板C_Sharp (C#)作者 (歪歪凍)時間20年前 (2005/03/08 13:12), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
:※ 引述《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
文章代碼(AID): #12BJH9f8 (C_Sharp)
文章代碼(AID): #12BJH9f8 (C_Sharp)