2014-02-26 78 views
1

我试图将一个字节转换为二进制数字的字符串 - 没有编码,就像它是,即如果字节= 00110101那么字符串将是“00110101”。如何将字节转换为C#中的二进制数字字符串?

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

也许我错过了一些明显的东西,我知道这是一个相当罕见的情况。这肯定有可能没有一些疯狂的循环迭代,当然?

(我送了串过bluetoothLE到旋转店展示柜编程吧)

编辑:下面是一些代码:

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

如果我打破和检查“道”,它显示为'3'(今天是星期三),而不是我所预期的00000011。我只是尝试了下面的建议BitConverter,但仍然返回'3'。

+0

发布您的代码。什么类型是字节? –

+0

尝试使用BitConverter http://msdn.microsoft.com/en-us/library/system.bitconverter.tostring(v=vs.110).aspx – ilansch

+0

posible duplicate http://stackoverflow.com/questions/3702216/how -to-convert-integer-to-binary-string-in -c http://stackoverflow.com/questions/3581674/converting-bytes-to-a-binary-string-in-c-sharp – wiero

回答

3

你想用Convert.ToString(),但指定一个基地,在这种情况下,因为它是二进制,基地2.

但是,你还需要垫位的数量,因为这将切断0位,所以00000001将最终为1

试试这个:

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

天才!谢谢:D – Ryan

相关问题