我创建了一个文本文件来存储从数据库中检索的一些数据。
这是我的代码。
CreateFile(String.Format("{0}\\U{1:X8}_C{2}_F{3}_B{4:X16}.TXT",
userDir,
staffWeaponEntity.StaffID.Oid,
capsensepw,
fingerprintID,
staffWeaponEntity.WeaponID.WeaponTypeID.Oid));
这是我的输出
".\\Data\\Tmp\\00000004\\USER\\U00000002_C000000_F00000000_B0000000000000004.TXT"
我想将最后一个值00000004转换为位模式二进制值0000000000001000。我应该怎么做?
答案 0 :(得分:1)
您可以使用接受基数的Convert.ToString
的重载(在本例中为基数2),并使用String.PadLeft
来添加填充零。
CreateFile(String.Format("{0}\\U{1:X8}_C{2}_F{3}_B{4}.TXT",
userDir,
staffWeaponEntity.StaffID.Oid,
capsensepw,
fingerprintID,
Convert.ToString(staffWeaponEntity.WeaponID.WeaponTypeID.Oid, 2).PadLeft(16, '0'));
此外,二进制文件中的4
为100
,而不是1000
。
修改强>
看起来你只是希望相应的位亮起来。我们可以使用bit shifting。请记住,您使用的值必须介于1到16之间。
CreateFile(String.Format("{0}\\U{1:X8}_C{2}_F{3}_B{4}.TXT",
userDir,
staffWeaponEntity.StaffID.Oid,
capsensepw,
fingerprintID,
Convert.ToString(1 << (staffWeaponEntity.WeaponID.WeaponTypeID.Oid - 1), 2).PadLeft(16, '0'));