2014-02-26 169 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

相關問題