C# 字符串转byte
时间: 2024-09-24 22:13:55 浏览: 18
在C#中,你可以使用`BitConverter.GetBytes()`方法将字符串转换为字节数组,其中字符串通常包含ASCII字符。如果字符串表示的是一个有效的十六进制数,可以先将其解析为整数,然后转换为字节。这里有一个示例:
```csharp
string hexString = "48656c6c6f"; // 例如你要转换的十六进制字符串,"Hello"
byte[] bytes;
try {
// 先将十六进制字符串转换为整数
int number = Int32.Parse(hexString, NumberStyles.HexNumber);
// 将整数转换为字节数组
bytes = BitConverter.GetBytes(number);
} catch (FormatException) {
// 捕获格式错误,如果输入不是有效的十六进制数
Console.WriteLine("Invalid hexadecimal string.");
bytes = null; // 或者抛出异常
}
if (bytes != null) {
Console.WriteLine($"Converted string to byte array: {BitConverter.ToString(bytes)}");
}
```
这段代码会将"Hello"转换为字节序列,如果是非十六进制字符串,则会捕获异常。
相关问题
c# 字符串转byte数组转
在C#中,可以使用Encoding类来进行字符串和字节数组之间的转换。具体的方法如下:
1. 将字符串转换为字节数组:
```csharp
string str = "Hello, World!";
byte[] byteArray = Encoding.UTF8.GetBytes(str);
```
2. 将字节数组转换为字符串:
```csharp
byte[] byteArray = { 72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33 };
string str = Encoding.UTF8.GetString(byteArray);
```
需要注意的是,在进行字符串和字节数组的转换时,要确保使用相同的编码方式,以免出现乱码或数据丢失的情况。
C#字符串转byte数组
C#中将字符串转换为字节数组可以使用Encoding类的GetBytes方法。以下是示例代码:
```csharp
string str = "Hello World";
byte[] byteArray = Encoding.Default.GetBytes(str);
```
在上述示例中,我们使用了默认的编码方式(Encoding.Default),但你也可以根据需要选择其他编码方式。