C#位元組陣列byte[]和字串string如何互相轉換
在C#語法中,字串使用的是string型別,位元組陣列使用的是byte[],那麼,這兩者能不能互相轉換,以及如何轉換呢?
方法/步驟
-
開啟visual studio,建立一個控制檯應用程式,用於演示如何進行位元組陣列byte[]和字串string的相互轉換
-
在控制檯應用程式的Main方法中,定義一個字串string str = "這是字串變數";
-
將字串轉換為位元組陣列,需要指定想要轉成位元組的字符集,因為,不同的字符集佔用的位元組數是不一樣的。首先使用UTF-8的字符集,將字串轉換為位元組陣列。byte[] utf8 = Encoding.UTF8.GetBytes(str);
-
接著,使用GB2312字符集,將同一個字串轉換為位元組陣列,使用程式碼:byte[] gb2312 = Encoding.GetEncoding("GB2312").GetBytes(str);
-
在控制檯中,輸出這兩種字符集轉換出的位元組個數,看看是否相等呢?從執行結果可以看出,兩種字符集轉換出來的長度是不相等的。因為str目前的長度是7個字元,使用UTF-8轉換出來的位元組陣列長度=7*3=21,使用GB2312轉換出來的長度=7*2=14
-
那麼,位元組陣列如何才能轉換為字串呢?這個時候同樣需要指定字符集型別。Encoding.UTF8.GetString(utf8), Encoding.GetEncoding("GB2312").GetString(gb2312)
-
在visual studio中按F5除錯模式執行,就可以看到效果,上面從字串轉為位元組陣列後,再從位元組陣列重新轉回來的字串是一樣的
相關文章
- Golang 陣列和字串之間的相互轉換[]byte/stringGolang陣列字串
- Java中String和byte型別互相轉換Java型別
- js 陣列,字串,json互相轉換陣列字串JSON
- float與byte[]互相轉換
- Java 集合與陣列互相轉換Java陣列
- 位元組陣列轉浮點數線上轉換器陣列
- C# bytes[]和sting互相轉換C#
- String字串,陣列字串陣列
- golang []byte和string的高效能轉換Golang
- float浮點數線上轉位元組陣列轉換工具陣列
- string與char陣列相互轉換陣列
- Solidity String轉byte32 byte轉StringSolid
- Java如何將字串轉換為字元陣列?Java字串字元陣列
- json字串 轉換為陣列JSON字串陣列
- JavaScript 字串轉換為陣列JavaScript字串陣列
- 字串 列表 字典 互相轉換字串
- u8 陣列轉換成 string陣列
- python中列表、字典和字串的互相轉換Python字串
- GO語言中string和[]byte的區別及轉換Go
- JavaScript將陣列轉換為字串JavaScript陣列字串
- 位運算實現整數與位元組陣列轉換陣列
- 將字串陣列轉換為浮點數陣列字串陣列
- json字串與物件互相轉換JSON字串物件
- C/C# float與byte/u8 陣列的轉化C#陣列
- 陣列與字串方法與相互轉換陣列字串
- 位元組陣列流陣列
- C#:檔案、byte[]、Stream相互轉換C#
- JAVA 中 string 和 int 互相轉化Java
- JavaScript陣列與字串相互轉換 join、splitJavaScript陣列字串
- 【Java】int[] 陣列 和 Integer陣列的轉換Java陣列
- List 和 陣列 的轉換陣列
- Java Stram實現Map和字串之間互相轉換| BaeldungJava字串
- InputStream流轉換成String字串字串
- c++中string類物件和字元陣列之間的相互轉換C++物件字元陣列
- 日期與字串的互相轉換SQL語句字串SQL
- String和byte互轉,Base64正逆向
- C# 一維陣列如何快速實現陣列元素的資料型別的轉換?C#陣列資料型別
- 陣列和字串陣列字串