【问题标题】:How can I convert a byte into a string of binary digits in C#?如何在 C# 中将字节转换为二进制数字字符串?
【发布时间】:2014-03-29 01:43:27
【问题描述】:

我正在尝试将一个字节转换为一串二进制数字 - 未编码,就像它一样,即如果字节 = 00110101 那么字符串将是“00110101”。

我搜索了高低,我发现的一切要么与获取 ASCII 或 UTF 或任何字节值有关,要么将字符转换为字节,这两者都不是我想要的。只是做 ToString() 给了我 int 值。

也许我遗漏了一些明显的东西,我知道这是一个相当罕见的情况。如果没有一些疯狂的循环,它肯定是可能的吗?

(我通过 bluetoothLE 将字符串发送到旋转的商店展示柜以对其进行编程)

编辑:这里有一些代码:

DateTime updateTime = DateTime.Now;
byte dow = (byte)updateTime.DayOfWeek;
Debug.WriteLine(dow.ToString());

如果我打破并检查“道”,它会显示为“3”(这是星期三),而不是我预期的 00000011。我刚刚按照下面的建议尝试了 BitConverter,但仍然返回“3”。

【问题讨论】:

标签: c# string byte type-conversion


【解决方案1】:

您想使用Convert.ToString(),但指定一个基数,在本例中是因为它是二进制的,基数为 2。

但是,您还需要填充位数,因为它会截断 0 位数字,所以 00000001 最终会变成 1

试试这个:

Convert.ToString(theByte,2).PadLeft(8,'0');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-20
    • 2020-05-06
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多