我正在尝试将二进制字符串转换为十六进制,但是我想念零值,我的意思是二进制字符串000001010100应该变成十六进制字符串054?
我目前正在使用
Convert.ToInt32(value,2).ToString("X")
答案 0 :(得分:2)
您可以将字符串拆分为四位数部分,解析它们并格式化为十六进制数字。这会给你正确的位数。例如:
string bin = "000001010100";
string hex = String.Concat(
Regex.Matches(bin, "....").Cast<Match>()
.Select(m => Convert.ToInt32(m.Value, 2)
.ToString("x1"))
);
答案 1 :(得分:2)
您只需使用
即可Convert.ToInt32(value,2).ToString("X3")
其中X后面的数字是最终字符串中所需的最小位数。我使用了数字3,因为这是您作为示例包含的输出。这在Microsoft documentation中有更详细的解释。