本文給大家介紹如何在Byte[]和String之間進行轉(zhuǎn)換?
比特(b):比特只有0 1,1代表有脈沖,0代表無脈沖。它是計算機物理內(nèi)存保存的最基本單元。
字節(jié)(B):8個比特,0—255的整數(shù)表示
編碼:字符必須編碼后才能被計算機處理。早期計算機使用7為AscII編碼,為了處理漢字設(shè)計了中文簡體GB2312和big5
字符串與字節(jié)數(shù)組之間的轉(zhuǎn)換,事實上是現(xiàn)實世界的信息和數(shù)字世界信息之間的轉(zhuǎn)換,勢必涉及到某種編碼方式,不同的編碼方式將導(dǎo)致不同的轉(zhuǎn)換結(jié)果。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#當(dāng)時設(shè)計時沒有中文簡體,這是后來中國搞的?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編碼的字節(jié)數(shù)組轉(zhuǎn)換為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編碼//字符串轉(zhuǎn)數(shù)組static Byte[] StrToByte(string str, Encoding encoding){return encoding.GetBytes(str);}//數(shù)組轉(zhuǎn)換字符串static String ByteToStr(Byte[] bt,Encoding encoding){return encoding.GetString(bt);}}}以上所述是小編給大家介紹的C#中Byte[]和String之間轉(zhuǎn)換的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對VEVB武林網(wǎng)網(wǎng)站的支持!
新聞熱點
疑難解答