C#中字符串與字節(jié)數(shù)組的轉(zhuǎn)換方式
一、編碼(轉(zhuǎn)成字節(jié)數(shù)組)GetBytes
1、ASII碼:字符串中的每個字符用一個字節(jié)表示。
每個字符實(shí)際上只使用了7位,從00h-7Fh。只能表達(dá)128個字符。不能代表漢字,
byte[] b = Encoding.ASCII.GetBytes("yourstring"); Console.Write(string.Join("-", b.Select(p => p.ToString())));
// 得到:121-111-117-114-115-116-114-105-110-103
2、Unicode碼:字符串中的每個字符用兩個字節(jié)表示。
byte[] b = Encoding.Unicode.GetBytes("哈啊a1");
// 得到:200-84-74-85-97-0-49-0
3、簡體中文:字符串中的每個中文字符用兩個字節(jié)表示,其他字符用一個字節(jié)表示。
byte[] b = Encoding.GetEncoding("gb2312").GetBytes("哈啊a1");//繁體中文”big5” Console.Write(string.Join("-", b.Select(p => p.ToString())));
// 得到:185-254-176-161-97-49
UTF-8中,一個漢字對應(yīng)三個字節(jié),GB2312中一個漢字占用兩個字節(jié)。
不論何種編碼,字母數(shù)字都不編碼,特殊符號編碼后占用一個字節(jié)。
二、解碼(轉(zhuǎn)成字符串):GetString、GetChars
Encoding.XXX.GetString(byte[] data,[,index,count]);
三、基于Base64(ASCII)編碼的字符串與字節(jié)數(shù)組的轉(zhuǎn)換
1、將指定的字符串(它將二進(jìn)制數(shù)據(jù)編碼為 Base64 數(shù)字)轉(zhuǎn)換為等效的 8 位無符號整數(shù)數(shù)組。
byte[] bt=Convert.FromBase64String("字符串");
2、將 8 位無符號整數(shù)數(shù)組的值轉(zhuǎn)換為其用 Base64 數(shù)字編碼的等效字符串表示形式。
Convert.ToBase64String(byte[] data,[,index,count]);
四、字節(jié)數(shù)組與字符數(shù)組轉(zhuǎn)換
1、字符數(shù)組轉(zhuǎn)字節(jié)數(shù)組
Encoding.XXX.GetEncoder().GetBytes(char[],0.length,byte[],0,true)
2、字節(jié)數(shù)組轉(zhuǎn)字符數(shù)組
Encoding.XXX.GetDecoder().GetChars(byte[],0.length,char[],0)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C#使用Enum.TryParse()實(shí)現(xiàn)枚舉安全轉(zhuǎn)換
- c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的區(qū)別詳解
- C#(int)中Convert、Parse、TryParse的區(qū)別
- C#字節(jié)數(shù)組(byte[])和字符串相互轉(zhuǎn)換方式
- C#中對象與JSON字符串互相轉(zhuǎn)換的三種方式
- c#?如何將字符串轉(zhuǎn)換為大寫或小寫
- C#日期格式字符串的相互轉(zhuǎn)換操作實(shí)例分析
- C# 字符串、數(shù)組和List的截取和轉(zhuǎn)換實(shí)例
- C#實(shí)現(xiàn)char字符數(shù)組與字符串相互轉(zhuǎn)換的方法
- C# 中 TryParse如何將字符串轉(zhuǎn)換為特定類型
相關(guān)文章
C# winform編程中響應(yīng)回車鍵的實(shí)現(xiàn)代碼
這篇文章主要介紹了C# winform編程中響應(yīng)回車鍵的實(shí)現(xiàn)代碼,既在窗口上響應(yīng)回車鍵事件的方法,需要的朋友可以參考下2014-08-08