1.字串轉換成位元組陣列
byte array = encoding.utf8.getbytes("你好");
2.位元組陣列轉換成base64字串
string base64 = convert.tobase64string(array);
3.base64string轉換成位元組陣列
byte bitarray = convert.frombase64string(base64string);
首先要明白它們本身是由什麼組成的:
流:二進位制
位元組:無符號整數
字元: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(二進位制轉換為字串)
首先要明白它們本身是由什麼組成的:
流:二進位制
位元組:無符號整數
字元: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(二進位制轉換為字串)
Base64編碼位元組陣列
base64編碼處理 public final class base64 for int i z i a i for int i z i a i for int i 9 i 0 i base64 alphabet 62 base64 alphabet 63 for int i 0 i 25 i fo...
位元組陣列流
位元組陣列流 bytearrayinputstream 包含乙個內部緩衝區,該緩衝區包含從流中讀取的位元組。內部計數器跟蹤read方法要提供的下乙個位元組。關閉bytearrayinputstream無效。此類中的方法再關閉流後依然可以被呼叫,而不會產生任何ioexception.bytearray...
位元組陣列輸入流和位元組陣列輸出流實現檔案的拷貝
整理思路如下 為什麼要這樣進行copy 我更願意稱它為傳輸 因為這樣以二進位制的形式傳輸檔案,可以實現檔案的遠距離傳輸,即通過這樣可以實現伺服器與使用者之間檔案的傳輸。我們在本地傳送請求時,計算機將請求編碼為二進位制檔案,當傳送到伺服器後,伺服器將二進位制檔案進行解碼,從而實現檔案的傳輸 那麼如何將...