日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

C#中字符串與字節(jié)數(shù)組的轉(zhuǎn)換方式_C#教程

作者:springsnow ? 更新時(shí)間: 2022-07-15 編程語(yǔ)言

一、編碼(轉(zhuǎn)成字節(jié)數(shù)組)GetBytes

? 1、ASII碼:字符串中的每個(gè)字符用一個(gè)字節(jié)表示。

每個(gè)字符實(shí)際上只使用了7位,從00h-7Fh。只能表達(dá)128個(gè)字符。不能代表漢字,

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碼:字符串中的每個(gè)字符用兩個(gè)字節(jié)表示。

byte[] b = Encoding.Unicode.GetBytes("哈啊a1");

? //? 得到:200-84-74-85-97-0-49-0

3、簡(jiǎn)體中文:字符串中的每個(gè)中文字符用兩個(gè)字節(jié)表示,其他字符用一個(gè)字節(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中,一個(gè)漢字對(duì)應(yīng)三個(gè)字節(jié),GB2312中一個(gè)漢字占用兩個(gè)字節(jié)。?
不論何種編碼,字母數(shù)字都不編碼,特殊符號(hào)編碼后占用一個(gè)字節(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 位無(wú)符號(hào)整數(shù)數(shù)組。

byte[] bt=Convert.FromBase64String("字符串");

2、將 8 位無(wú)符號(hào)整數(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)

原文鏈接:https://www.cnblogs.com/springsnow/p/9546404.html

欄目分類(lèi)
最近更新