c# 将16进制转为字符串
时间: 2023-09-06 13:10:36 浏览: 68
以下是将 16 进制字符串转换为普通字符串的 C# 代码示例:
```csharp
string hexString = "48656C6C6F20776F726C64"; // 16 进制字符串
string convertedString = "";
for (int i = 0; i < hexString.Length; i += 2)
{
string hex = hexString.Substring(i, 2); // 每两个字符为一组,转换为一个字节
int value = Convert.ToInt32(hex, 16); // 将字节转换为整型
char charValue = (char)value; // 将整型转换为字符
convertedString += charValue.ToString(); // 拼接转换后的字符
}
Console.WriteLine(convertedString); // 输出转换后的字符串
```
上面代码中,我们首先定义一个 16 进制字符串 `hexString`,然后通过 `for` 循环每两个字符为一组,将其转换为一个字节,再将字节转换为整型,最后将整型转换为字符。最后拼接转换后的字符,得到转换后的字符串。
需要注意的是,上述代码中没有做错误处理,如果输入的 16 进制字符串格式不正确,将会抛出异常。在实际应用中,需要根据具体情况进行错误处理。
相关问题
c# 将数组转为16进制的字符串
以下是将 byte 数组转换为 16 进制字符串的 C# 代码示例:
```csharp
byte[] byteArray = { 0x12, 0x34, 0xAB, 0xCD, 0xEF };
string hexString = BitConverter.ToString(byteArray).Replace("-", "");
```
解释一下,上面代码中,我们首先定义一个 byte 数组 `byteArray`,然后使用 `BitConverter.ToString()` 方法将其转换为 16 进制字符串,最后使用 `Replace()` 方法将字符串中的 '-' 字符去掉。
如果你想将其他类型的数组转换为 16 进制字符串,可以将其转换为 byte 数组后再使用上述方法进行转换。
c#将字符串 转为 16进制数组
您可以使用如下代码将C#中的字符串转换为16进制数组:
```csharp
public static byte[] StringToByteArray(string hex)
{
hex = hex.Replace(" ", "");
byte[] bytes = new byte[hex.Length / 2];
for (int i = 0; i < hex.Length; i += 2)
{
bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
}
return bytes;
}
```
请注意,上述代码假定输入的字符串包含有效的十六进制字符,例如“0-F”。如果输入的字符串包含其他字符,则该代码将引发异常。