本文給大家介紹如何在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之間轉換的方法,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!