将十六进制字符串转换为二进制字符串 C#

sav*_*avi 3 c# string binary hex

我正在尝试将十六进制字符串转换为二进制。我的代码如下所示:

sw.Write(Convert.ToString(Convert.ToInt32(value, 16), 2));
Run Code Online (Sandbox Code Playgroud)

然而,这适用于大多数值;但是当我将十六进制字符串 0x101 转换为二进制字符串时,我的结果是 100000001,而不是 000100000001。请帮帮我。

L.B*_*L.B 5

string Hex = "001";
var s = String.Join("", 
          Hex.Select(x => Convert.ToString(Convert.ToInt32(x+"", 16), 2).PadLeft(4,'0')));
Run Code Online (Sandbox Code Playgroud)