用戶登錄  |  用戶注冊
首 頁源碼下載網絡學院最新源碼源碼排行屏蔽廣告
當前位置:新興網絡 > 網絡學院 > .Net技術 > C#

C#中字符串string與byte[]數組互轉

減小字體 增大字體 作者:佚名  來源:本站整理  發布時間:2010-06-05 10:59:44
C# code復制代碼
//String To Byte[]:
byte[] byteArray = System.Text.Encoding.Default.GetBytes(str);

//Byte[] To String:
string str = System.Text.Encoding.Default.GetString(byteArray);

其實,在System.Text.Encoding class中,還有很多其它有用的方法,像GetChars,從一個byte[]轉成一個char[],等等,可以參考MSDN。

另外,還有其它編碼方式的,如System.Text.UTF8Encoding class、System.Text.UnicodeEncoding class等,根據不同需要可選不同的class。

另外一種方法是如下:

名稱 說明
BitConverter.ToString() 出現運行時錯誤時,發生此事件
BitConverter.ToString(Byte[]) 返回由字節數組的元素轉換來的 String
BitConverter.ToString(Byte[], Int32) 返回由字節數組中從指定數組位置開始的元素轉換來的 String
BitConverter.ToString(Byte[], Int32, Int32) 返回由字節數組中指定位置、指定數量的字節轉換來的 String
BitConverter.ToString(Byte[]) 這個方法不行,得到的是byte數組的16進制字符串, 如"AH-0A-1A"

--引用--------------------------------------------------
如果是未知編碼方式呢?
比如用FileStream從一個文件中讀取了流到byte[]中,這時候并不知道這個文件的編碼方式是gb2312還是utf-8,如何才能正確的取到string值?
--------------------------------------------------------
你可以試試這種解決方案: 

StreamReader sr = new StreamReader(new MemoryStream(byteArray));
string str = sr.ReadToEnd();

Tags:C# 字符串 互轉

作者:佚名
  • 好的評價 如果您覺得此文章好,就請您
      80%(12)
  • 差的評價 如果您覺得此文章差,就請您
      20%(3)

網絡學院評論評論內容只代表網友觀點,與本站立場無關!

   評論摘要(共 0 條,得分 0 分,平均 0 分) 查看完整評論
美国百家乐注册