当需要处理二进制数据时,我们通常会用到Byte[]
类型,而处理文本时则使用String
类型。在C#中,Byte[]
和String
之间的相互转换可以通过以下方法进行。
Byte[] 转 String
1. 直接将 Byte[] 转为 String
可以使用Encoding
类提供的GetString
方法将Byte[]
直接转为String
。
byte[] bytes = { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 };
string str = Encoding.Default.GetString(bytes);
以上代码将一个字节数组bytes
转为一个字符串str
(结果为"Hello World"
)。
2. 使用 Base64 编码将 Byte[] 转为 String
还可以使用 Base64 编码将Byte[]
转为String
,这种方式可以保证二进制数据在转换过程中不被破坏。
byte[] bytes = { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 };
string str = Convert.ToBase64String(bytes);
以上代码将一个字节数组bytes
使用 Base64 编码后得到一个字符串str
(结果为"SGVsbG8gV29ybGQ="
)。
String 转 Byte[]
1. 直接将 String 转为 Byte[]
可以使用Encoding
类提供的GetBytes
方法将String
直接转为Byte[]
。
string str = "Hello World";
byte[] bytes = Encoding.Default.GetBytes(str);
以上代码将一个字符串str
转为一个字节数组bytes
。
2. 使用 Base64 解码将 String 转为 Byte[]
如果字符串是通过 Base64 编码得到的,那么可以使用Convert.FromBase64String
方法将其解码得到原始的字节数组。
string str = "SGVsbG8gV29ybGQ=";
byte[] bytes = Convert.FromBase64String(str);
以上代码将一个字符串str
使用 Base64 解码后得到一个字节数组bytes
。
总结:
通过以上方法,我们可以方便地在Byte[]
和String
之间进行转换,并且在使用过程中需要注意编码和解码所使用的编码方式要保持一致。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中Byte[]和String之间转换的方法 - Python技术站