C 中的流 位元組 字元和字串

2021-09-09 08:30:44 字數 1640 閱讀 2537

首先要明白它們本身是由什麼組成的:

流:二進位制

位元組:無符號整數

字元:unicode編碼字元

字串:多個unicode編碼字元

那麼在.net下它們之間如何轉化呢?

一般是遵守以下規則:

流->位元組陣列->字元陣列->字串

下面就來具體談談轉化的語法

流->位元組陣列

memorystream ms = new memorystream();

byte buffer = new byte[ms.length];

ms.read(buffer, 0, (int)ms.length);

位元組陣列->流

byte buffer = new byte[10];

memorystream ms = new memorystream(buffer);

位元組陣列->字元陣列

byte buffer = new byte[10];

char ch = new asciiencoding().getchars(buffer);

//或者:char ch = encoding.utf8.getchars(buffer)

byte buffer = new byte[10];

char ch = new char[10];

for(int i=0; i字元陣列->位元組陣列

char ch = new char[10];

byte buffer = new asciiencoding().getbytes(ch);

//或者:byte buffer = encoding.utf8.getbytes(ch)

char ch = new char[10];

byte buffer = new byte[10];

for(int i=0; i字元陣列->字串

char ch = new char[10];

string str = new string(ch);

字串->字元陣列

string str = "abcde";

char ch=str .tochararray();

位元組陣列->字串

byte buffer = new byte[10];

string str = system.text.encoding.utf8.getstring(buffer);

//或者:string str = new asciiencoding().getstring(buffer);

字串->位元組陣列

string str = "abcde";

byte buffer=system.text.encoding.utf8.getbytes(str);

//或者:byte buffer= new asciiencoding().getbytes(str);

說明:主要就是用到了convert類和system.text命名空間下的類,encoding是靜態類,asciiencoding是實體類,方法都是一樣的!

c 中的流,位元組,字元,字串

首先要明白它們本身是由什麼組成的 流 二進位制 位元組 無符號整數 字元 unicode編碼字元 字串 多個unicode編碼字元 那麼在.net下它們之間如何轉化呢?一般是遵守以下規則 流 位元組陣列 字元陣列 字串 下面就來具體談談轉化的語法 流 位元組陣列 memorystream ms ne...

c 流,位元組,字元,字串操作

首先要明白他們本身是由什麼組成的 流 二進位制。位元組 無符號的整數。字元 unicode 編碼字元。unicode編碼 在上述幾個物件的相互轉化中一般遵守 流 位元組陣列 字元陣列 字串 字元陣列或字串轉換成位元組陣列 public static void main c 提供了unicode as...

字串 字元和位元組

字串是由乙個個字元組成的,每個字元又由乙個或多個位元組來表示,每個位元組又由8個bit位來表示。字元 計算機中使用的文字和符號,比如1 2 a b 等等。位元組 byte 一種計量單位,表示資料量多少,它是計算機資訊技術用於計量儲存容量的一種計量單位。不同編碼裡,字元和位元組的對應關係不同 asci...