C#byte[]转string
时间: 2023-08-07 17:03:10 浏览: 182
在C#中,可以使用多种方法将byte\[\]转换为string。其中一种方法是使用System.Text.Encoding类的GetString方法。例如,可以使用UTF8编码将byte\[\]转换为string,代码如下:
```csharp
string str = System.Text.Encoding.UTF8.GetString(bytes);
```
另一种方法是使用BitConverter类的ToString方法将byte\[\]转换为十六进制字符串。然后,可以使用Split方法将字符串拆分为字符串数组,并使用Convert.ToByte方法将每个十六进制字符串转换为byte。代码如下:
```csharp
string str = BitConverter.ToString(bytes);
string\[\] tempArr = str.Split('-');
byte\[\] decBytes = new byte\[tempArr.Length\];
for (int i = 0; i < tempArr.Length; i++) {
decBytes\[i\] = Convert.ToByte(tempArr\[i\], 16);
}
```
还有一种方法是使用Convert类的ToBase64String方法将byte\[\]转换为Base64字符串,然后使用Convert类的FromBase64String方法将Base64字符串转换回byte\[\]。代码如下:
```csharp
string str = Convert.ToBase64String(bytes);
byte\[\] decBytes = Convert.FromBase64String(str);
```
最后一种方法是使用HttpServerUtility类的UrlTokenEncode方法将byte\[\]转换为URL安全的字符串,然后使用HttpServerUtility类的UrlTokenDecode方法将URL安全的字符串转换回byte\[\]。需要注意的是,这种方法需要依赖System.Web库。代码如下:
```csharp
string str = HttpServerUtility.UrlTokenEncode(bytes);
byte\[\] decBytes = HttpServerUtility.UrlTokenDecode(str);
```
请根据你的需求选择适合的方法进行byte\[\]到string的转换。
#### 引用[.reference_title]
- *1* [C# string类型和byte[]类型相互转换](https://blog.csdn.net/itffscut/article/details/40399135)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [C# byte[]数组和string的互相转化 (四种方法)](https://blog.csdn.net/pretty_h/article/details/85297935)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文