我正在尝试将十六进制字符串转换为二进制。我的代码如下:
sw.Write(Convert.ToString(Convert.ToInt32(value, 16), 2));
然而,这适用于大多数值;但是当我将十六进制字符串0x101转换为二进制字符串时,我的结果是100000001,比000100000001还要好。请帮助我。
答案 0 :(得分:4)
string Hex = "001";
var s = String.Join("",
Hex.Select(x => Convert.ToString(Convert.ToInt32(x+"", 16), 2).PadLeft(4,'0')));
答案 1 :(得分:-2)
如何使用String.PadLeft()?
string value = "0x001";
string binary = Convert.ToString(Convert.ToInt32(value, 16), 2).PadLeft(12, '0');