本文給大家介紹如何在Byte[]和String之間進行轉換?
比特(b):比特只有0 1,1代表有脈沖,0代表無脈沖。它是計算機物理內存保存的最基本單元。
字節(B):8個比特,0―255的整數表示
編碼:字符必須編碼后才能被計算機處理。早期計算機使用7為AscII編碼,為了處理漢字設計了中文簡體GB2312和big5
字符串與字節數組之間的轉換,事實上是現實世界的信息和數字世界信息之間的轉換,勢必涉及到某種編碼方式,不同的編碼方式將導致不同的轉換結果。C#中常使用System.Text.Encoding來管理常用的編碼。下面直接上代碼:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ByteToString{class Program{static void Main(string[] args){string str = "鞠哥真帥!";//使用UTF編碼。。。Byte[] utf8 = StrToByte(str, Encoding.UTF8);//估計C#當時設計時沒有中文簡體,這是后來中國搞的?Byte[] gb2312 = StrToByte(str,Encoding.GetEncoding("GB2312"));Console.WriteLine("這是UTF8(鞠哥真帥),長度是:{0}",utf8.Length);foreach (var item in utf8){Console.Write(item);}Console.WriteLine("/n/n這是gb2312(鞠哥真帥),長度是:{0}",gb2312.Length);foreach (var item in gb2312){Console.Write(item);}//用utf8編碼的字節數組轉換為strstring utf8Str = ByteToStr(utf8,Encoding.UTF8);string gb2312Str = ByteToStr(gb2312,Encoding.GetEncoding("GB2312"));Console.WriteLine("/n/nutf8: {0}",utf8Str);Console.WriteLine("gb2312: {0}",gb2312Str);Console.ReadKey();}//C#通常使用System.Text.Encoding編碼//字符串轉數組static Byte[] StrToByte(string str, Encoding encoding){return encoding.GetBytes(str);}//數組轉換字符串static String ByteToStr(Byte[] bt,Encoding encoding){return encoding.GetString(bt);}}}
以上所述是小編給大家介紹的C#中Byte[]和String之間轉換的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答