将十六进制字符串转换为二进制字符串,显示所有4位十六进制值

时间:2016-10-26 15:54:31

标签: c#

我是C#的新手。请帮我处理以下案例

我正在尝试将Hex字符串转换为带有1和0的二进制字符串。我试过下面的方法。我在这里面临的问题是,如果十六进制值为0,则转换仅为0而不是“0000”。我希望二进制字符串包含十六进制值的所有4位。

const string hexDataReadFromTag= "FF001"  
foreach (char c in hexDataReadFromTag.ToCharArray())
            {
                binaryData.Append(Convert.ToString(Convert.ToInt32(c.ToString(), 16), 2));
}

获得的输出是“11111111001”而不是“11111111000000000001”

1 个答案:

答案 0 :(得分:1)

使用docker-compose up确保每个十六进制数字转换为4个二进制数字(.PadLeft(4, '0')3而不是0011):

11