【发布时间】:2017-03-09 02:10:35
【问题描述】:
我是 C# 新手。请帮我解决以下情况
我正在尝试将十六进制字符串转换为带有 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”
【问题讨论】:
-
为什么要逐个字符而不是
Convert.ToString(Convert.ToInt32(hexDataReadFromTag, 16), 2)?
标签: c#