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

2021-06-09 00:26:46 字數 1792 閱讀 3676

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

流:二進位制

位元組:無符號整數

字元: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);

位元組陣列->字元陣列

1.byte buffer = new byte[10];

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

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

2.byte buffer = new byte[10];

char ch = new char[10];

for(int i=0; ich[i] = convert.tochar(buffer[i]);

字元陣列->位元組陣列

1.char ch = new char[10];

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

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

2.char ch = new char[10];

byte buffer = new byte[10];

for(int i=0; ibuffer[i] = convert.tobyte(ch[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#中 uint--byte--char--string相互轉換彙總

字串如何與流相互轉換?

char 同 byte 有什麼區別?

c++中 unsigned char != byte

資料流與字串之間的轉換!

檔案流轉換為string(二進位制轉換為字串)

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

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

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

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

C 中位元組 字元 字串的區別

先看一下位元組,字元,字串的概念 c 中 定義位元組byte 字元char 字串string 定義陣列時都需定義陣列大小。byte by 84 t 對應的ascii十進位制編碼 char ch t string str this byte可以和char直接進行比較,例如 by 83 char cha...