C#中Byte[]和String之間轉(zhuǎn)換的方法
本文給大家介紹如何在Byte[]和String之間進(jìn)行轉(zhuǎn)換?
比特(b):比特只有0 1,1代表有脈沖,0代表無(wú)脈沖。它是計(jì)算機(jī)物理內(nèi)存保存的最基本單元。
字節(jié)(B):8個(gè)比特,0—255的整數(shù)表示
編碼:字符必須編碼后才能被計(jì)算機(jī)處理。早期計(jì)算機(jī)使用7為AscII編碼,為了處理漢字設(shè)計(jì)了中文簡(jiǎn)體GB2312和big5
字符串與字節(jié)數(shù)組之間的轉(zhuǎn)換,事實(shí)上是現(xiàn)實(shí)世界的信息和數(shù)字世界信息之間的轉(zhuǎn)換,勢(shì)必涉及到某種編碼方式,不同的編碼方式將導(dǎo)致不同的轉(zhuǎn)換結(jié)果。C#中常使用System.Text.Encoding來(lái)管理常用的編碼。下面直接上代碼:
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); //估計(jì)C#當(dāng)時(shí)設(shè)計(jì)時(shí)沒(méi)有中文簡(jiǎn)體,這是后來(lái)中國(guó)搞的? Byte[] gb2312 = StrToByte(str,Encoding.GetEncoding("GB2312")); Console.WriteLine("這是UTF8(鞠哥真帥),長(zhǎng)度是:{0}",utf8.Length); foreach (var item in utf8) { Console.Write(item); } Console.WriteLine("\n\n這是gb2312(鞠哥真帥),長(zhǎng)度是:{0}",gb2312.Length); foreach (var item in gb2312) { Console.Write(item); } //用utf8編碼的字節(jié)數(shù)組轉(zhuǎn)換為str string 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)換的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Unity利用材質(zhì)自發(fā)光實(shí)現(xiàn)物體閃爍
這篇文章主要為大家詳細(xì)介紹了Unity利用材質(zhì)自發(fā)光實(shí)現(xiàn)物體閃爍,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04C#導(dǎo)出GridView數(shù)據(jù)到Excel文件類實(shí)例
這篇文章主要介紹了C#導(dǎo)出GridView數(shù)據(jù)到Excel文件類,實(shí)例分析了C#使用GridView及Excel的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03運(yùn)用示例簡(jiǎn)單講解C#取消令牌CancellationTokenSource
這篇文章運(yùn)用示例簡(jiǎn)單講解C#取消令牌CancellationTokenSource,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08C# winform打開(kāi)Excel文檔的方法總結(jié)(必看篇)
下面小編就為大家?guī)?lái)一篇C# winform打開(kāi)Excel文檔的方法總結(jié)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01C#使用base64對(duì)字符串進(jìn)行編碼和解碼的測(cè)試
今天小編就為大家分享一篇關(guān)于C#使用base64對(duì)字符串進(jìn)行編碼和解碼的測(cè)試,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02c#使用微信接口開(kāi)發(fā)微信門(mén)戶應(yīng)用中微信消息的處理和應(yīng)答
這篇文章主要介紹了c#使用微信接口開(kāi)發(fā)微信門(mén)戶中的微信消息的處理和應(yīng)答的過(guò)程,需要的朋友可以參考下2014-03-03