C#中字节数组与字符串的互相转换方法

黑暗猎手 2024-10-29T14:01:14+08:00
0 0 205

在C#编程中,经常会遇到将字节数组(byte[])与字符串(string)进行互相转换的需求。本文将介绍如何在C#中进行这种转换,并提供一些常用的转换方法。

将byte[]转换为string

在将字节数组转换为字符串时,可以使用以下两种常用的方法:

1. 使用Encoding类的GetString方法

byte[] byteArray = { 72, 101, 108, 108, 111 };
string str = Encoding.ASCII.GetString(byteArray);

上述代码将一个包含ASCII码的字节数组转换为字符串。使用Encoding类的GetString方法,可以根据需要选择不同的编码方式,如ASCII、UTF-8等。

2. 使用Convert类的ToBase64String方法

byte[] byteArray = { 72, 101, 108, 108, 111 };
string str = Convert.ToBase64String(byteArray);

上述代码将字节数组转换为Base64编码的字符串。Base64编码是一种常用的将二进制数据转换为字符串的方式。

将string转换为byte[]

在将字符串转换为字节数组时,可以使用以下两种常用的方法:

1. 使用Encoding类的GetBytes方法

string str = "Hello";
byte[] byteArray = Encoding.ASCII.GetBytes(str);

上述代码将字符串转换为包含ASCII码的字节数组。使用Encoding类的GetBytes方法,可以根据需要选择不同的编码方式进行转换。

2. 使用Convert类的FromBase64String方法

string str = "SGVsbG8=";
byte[] byteArray = Convert.FromBase64String(str);

上述代码将Base64编码的字符串转换为字节数组。使用Convert类的FromBase64String方法,可以将Base64编码的字符串还原为原始的二进制数据。

总结

通过上述介绍,我们了解了在C#中进行byte[]与string之间的相互转换的常用方法。根据具体的需求,我们可以选择使用Encoding类的GetString和GetBytes方法,或者使用Convert类的ToBase64String和FromBase64String方法。

同时,在进行转换时,我们还应注意选择合适的编码方式,以避免出现乱码等问题。根据实际情况,选择常用的编码方式,如ASCII、UTF-8等进行转换。

希望本文对于理解C#中byte[]与string的相互转换有所帮助,如果有任何问题或建议,请随时留言交流。

相似文章

    评论 (0)