天天看點

string與byte[]之間的轉換

在使用.NET加密類的時候,會經常用到string與byte[]之間的轉換。 首先引用System.Text命名空間,然後 UnicodeEncoding unicode=new UnicodeEncoding(); byte[] byteA;   //byte[] -> string byteA=unicode.GetBytes(textBox1.Text);   //string -> byte[] textBox1.Text=unicode.GetString(byteA);   最後,說明一下System.Text命名空間裡面,ASCIIEncoding是處理不了中文的,會出現亂碼的;而UTF8Encoding存在不确定因素,如果這個字元用1個位元組能存儲下(英文或數字)那麼它就用1個位元組,如果這個字元用2個位元組才能存儲下(漢字、韓文等)那麼它就用2個位元組,這樣加解密的話,就容易出現位元組位數對不上的問題;是以在使用System.Security.Cryptograph時一定要用UnicodeEncoding編碼!标準Unicode都用2個位元組來表示1個字元,而UTF8是為了網頁浏覽節省空間而專門設計的