关于C#字节数组(byte[])和字符串相互转换方式的攻略,下面是详细讲解:
1. 字符串转字节数组
在C#中,可以使用Encoding
类中的GetBytes
方法将一个字符串转换为字节数组,示例如下:
string str = "hello world";
byte[] strBytes = Encoding.UTF8.GetBytes(str);
上述代码使用UTF-8编码将字符串"hello world"
转换为字节数组,并将结果存储在strBytes
变量中。你也可以使用其他编码方式,例如GBK、ASCII等。
2. 字节数组转字符串
同样使用Encoding
类,可以使用GetString
方法将字节数组转换为字符串。示例代码如下:
byte[] strBytes = new byte[] { 104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100 };
string str = Encoding.UTF8.GetString(strBytes);
上述代码创建了一个包含ASCII编码的字节数组,并使用UTF-8编码将其转换为字符串。GetString
方法的第二个可选参数指定了字符编码方式,如果未指定则使用系统默认编码。
3. 示例说明
下面给出两个示例,分别演示了字符串转字节数组和字节数组转字符串的过程。
3.1 示例1:字符串转字节数组
using System;
using System.Text;
class Program
{
static void Main(string[] args)
{
string str = "hello world";
Console.WriteLine("原始字符串:{0}", str);
//转换为字节数组
byte[] strBytes = Encoding.UTF8.GetBytes(str);
Console.Write("转换后的字节数组:");
for (int i = 0; i < strBytes.Length; i++)
{
Console.Write("{0:X2} ", strBytes[i]);
}
Console.ReadKey();
}
}
运行结果:
原始字符串:hello world
转换后的字节数组:68 65 6C 6C 6F 20 77 6F 72 6C 64
3.2 示例2:字节数组转字符串
using System;
using System.Text;
class Program
{
static void Main(string[] args)
{
byte[] strBytes = new byte[] { 104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100 };
//转换为字符串
string str = Encoding.UTF8.GetString(strBytes);
Console.WriteLine("原始字节数组:");
for (int i = 0; i < strBytes.Length; i++)
{
Console.Write("{0:X2} ", strBytes[i]);
}
Console.WriteLine("\n\n转换后的字符串:{0}", str);
Console.ReadKey();
}
}
运行结果:
原始字节数组:
68 65 6C 6C 6F 20 77 6F 72 6C 64
转换后的字符串:hello world
以上就是本次关于C#字节数组(byte[])和字符串相互转换方式的攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#字节数组(byte[])和字符串相互转换方式 - Python技术站