C# 把“0x2D”转成byte
时间: 2023-09-18 22:06:38 浏览: 46
在 C# 中,可以使用 Convert.ToByte 方法将十六进制字符串转换为 byte 类型。例如,将字符串 "0x2D" 转换为 byte 类型可以使用以下代码:
```
byte b = Convert.ToByte("0x2D", 16);
```
其中,第二个参数指定输入字符串的基数为 16,表示输入字符串是十六进制数。转换后的 byte 值为 45,即十进制下的数值。
相关问题
c# string转0x2D样式的byte
您可以使用以下代码将C#中的字符串转换为0x2D样式的字节数组:
```csharp
string inputString = "hello";
byte[] byteArray = new byte[inputString.Length * 2]; // 一个字符转换成两个字节
for (int i = 0; i < inputString.Length; i++)
{
byte[] tempArray = BitConverter.GetBytes(inputString[i]); // 获取字符的字节数组
byteArray[i * 2] = tempArray[0]; // 将字节数组分配给两个字节
byteArray[i * 2 + 1] = tempArray[1];
}
```
在上面的代码中,我们使用 `BitConverter.GetBytes()` 方法将每个字符转换为字节数组,然后将每个字节数组的两个元素分配给两个字节。注意,这种转换方式假定您的字符集是Unicode。如果您使用的是其他字符集,则需要相应地调整代码。
C#怎么把BOOL数组转换成byte
可以使用以下代码将BOOL数组转换成byte数组:
```csharp
bool[] boolArray = new bool[] { true, false, true };
byte[] byteArray = new byte[(boolArray.Length + 7) / 8];
for (int i = 0; i < boolArray.Length; i++)
{
if (boolArray[i])
{
byteArray[i / 8] |= (byte)(1 << (i % 8));
}
}
```
这里的 `byteArray` 就是转换后的结果。需要注意的是,bool数组的长度必须是8的倍数,因为每个byte最多只能存储8个bool值。如果不是8的倍数,需要将byte数组的长度向上取整。