我有不同大小的 BitArray
,我想在十六进制字符串中进行转换。
我试图将 BitArray
转换为 byte[]
,但它没有给我正确的格式。 ( Converting a boolean array into a hexadecimal number )
例如,BitArray
为 12,我希望字符串为 A8C(3 六进制,因为 12 位)
谢谢
最佳答案
你可以直接试试
StringBuilder sb = new StringBuilder(bits.Length / 4);
for (int i = 0; i < bits.Length; i += 4) {
int v = (bits[i] ? 8 : 0) |
(bits[i + 1] ? 4 : 0) |
(bits[i + 2] ? 2 : 0) |
(bits[i + 3] ? 1 : 0);
sb.Append(v.ToString("x1")); // Or "X1"
}
String result = sb.ToString();
关于C# - 位数组到十六进制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37162727/