C# 16进制字符串转byte
时间: 2023-10-25 18:29:04 浏览: 234
你可以使用C#的内置函数将16进制字符串转换为字节数组。下面是一个示例代码:
```csharp
public static byte[] HexStringToByteArray(string hexString)
{
int byteCount = hexString.Length / 2;
byte[] byteArray = new byte[byteCount];
for (int i = 0; i < byteCount; i++)
{
string byteString hexString.Substring(i * 2, 2);
byteArray[i] = Convert.ToByte(byteString, 16);
}
return byteArray;
}
```
你可以调用这个方法,将16进制字符串作为参数传入,它会返回对应的字节数组。例如:
```csharp
string hexString = "48656C6C6F20576F726C64";
byte[] byteArray = HexStringToByteArray(hexString);
```
在上面的示例中,`byteArray` 将包含转换后的字节数组。请确保输入的16进制字符串的长度是偶数,并且只包含0-9和A-F之间的有效字符。
相关问题
c#16进制字符串转字符串
您可以使用以下代码将C#中的十六进制字符串转换为字符串:
```csharp
public static string HexToString(string hex)
{
StringBuilder*** = new StringBuilder();
for (int i = 0; i < hex.Length; i += 2)
{
string hexByte = hex.Substring(i, 2);
byte byteValue = Convert.ToByte(hexByte, 16);
***.Append((char)byteValue);
}
return***.ToString();
}
```
使用示例:
```csharp
string hexString = "48656C6C6F20776F726C64";
string result = HexToString(hexString);
Console.WriteLine(result); // 输出:"Hello world"
```
这个方法将十六进制字符串按每两个字符一组进行分割,然后将每个组转换为对应的字节,最后将字节转换为字符并拼接起来,形成最终的字符串。
c#16进制字符串转ASCII字符串
以下是C#中将16进制字符串转换为ASCII字符串的方法:
```csharp
public static string HexStringToASCII(string hexstring)
{
byte[] bt = HexStringToBinary(hexstring);
string lin = "";
for (int i = 0; i < bt.Length; i++)
{
lin = lin + bt[i] + " ";
}
return lin;
}
public static byte[] HexStringToBinary(string hexstring)
{
// 将16进制字符串转换为字节数组
string[] hexValuesSplit = hexstring.Split(' ');
byte[] bytes = new byte[hexValuesSplit.Length];
for (int i = 0; i < hexValuesSplit.Length; i++)
{
bytes[i] = Convert.ToByte(hexValuesSplit[i], 16);
}
return bytes;
}
```
使用示例:
```csharp
string hexString = "61 62 63"; // 16进制字符串
string asciiString = HexStringToASCII(hexString);
Console.WriteLine(asciiString); // 输出:a b c
```
阅读全文