string和byte 之間的轉換 C

2021-06-01 08:27:20 字數 948 閱讀 9825

string型別轉成byte:

string str="ddddddd";

byte bytearray = system.text.encoding.default.getbytes(str);

反過來也是一樣,把byte轉成string:

byte[ ] bytearray ;

string strtest = system.text.encoding.default.getstring( bytearray );

其實,在system.text.encoding class中,還有很多其它有用的方法,像getchars,從乙個byte轉成乙個char,等等,可以參考msdn

另外,還有其它編碼方式的,如system.text.utf8encoding class、system.text.unicodeencoding class等,根據不同需要可選不同的class。其次bitconverter類就可以把byte轉化為其他型別

類似參考

上面的是標準的方法,肯定正確,但是不夠快。可以採用unsafe的方法提高效率(c#中實現指標只需要寫入unsafe,編譯選項把「允許不安全**」開啟即可)。具體做法如下:

參考1.string型別轉成byte:

fixed (char* str = var)   //var is string}}

2. byte型別轉成string:

char tvar = new char[length / 2];

fixed (char* str = tvar)}}

string var = new string(tvar);

注意:a. 在string中,每個字元佔兩個位元組,所以轉換成byte陣列時,長度要注意乘以2,反之除以2

b. 在1,2標記中,有乙個強制轉換成byte位元組,這也正是為了方便下面的for語句拷貝,否則乙個c#中乙個char也是兩個位元組。

其他參考

string和byte 之間的轉換

byte轉陣列string string str junrui byte bytearr system.text.encoding.default.getbytes str string轉byte陣列 string bytetostr system.text.encoding.default.get...

python3 中 byte 和string轉換

python3 中 byte 和string轉換 舉例,我要將byte轉換為string型別 一開始我是直接使用 a str b 但是發現結果並非我想要的那種,後來在網上發現了一篇寫的很好的文章 python 3中最重要的新特性可能就是將文字 text 和二進位制資料做了更清晰的區分。文字總是用un...

C 中Byte 和String之間轉換的方法

位元 b 位元只有0 1,1代表有脈衝,0代表無脈衝。它是計算機物理記憶體儲存的最基本單元。位元組 b bzvsoq 8個位元,0 255的整數表示 編碼 字元必須編碼後才能被計算機處理。早期計算機使用7為ascii編碼,為了處理漢字設計了中文簡體gb2312和big5 字串與位元組陣列之間的轉換,...