2010-10-26 34 views
1

我試圖將一個字節添加到一個數組,如下所示:添加字節數組中刪除大寫字母

messagedata.Add((byte)0xF0); 

但是當我檢查數組,該項目看起來像0XF0但它,因爲它的將是一條MIDI信息,我發現它必須是大寫字母F.我能做些什麼來保持字母大寫?

回答

4

由於字母未存儲在數組中,因此不能保留大寫字母。存儲在數組中的唯一東西是一個數字值,而0xf0只是將該值表示爲文本的一種方法。

您不需要保留大寫字母。 MIDI消息以字節發送,而不是文本,因此0xf00xF0是具有相同值的文本表示。還有其他方法可以表示與文本相同的值,如240,0360%11110000,它們都表示相同的內容。

此代碼:

messagedata.Add((byte)240); 

產生完全相同的結果如上代碼。可執行代碼將是相同的,並且不可能通過檢查編譯代碼來確定使用哪些代碼。

+0

感謝您的快速響應。似乎問題在於別的東西:當一個整數(例如1)被轉換時,它會導致0x00,但我需要0x31 ...任何建議? – internetmw 2010-10-26 22:25:36

+0

@internetmw:如果將整數值「1」轉換爲一個字節,則會得到一個值爲「1」或「0x01」的字節。也許你想將字符值「1」轉換爲一個字節,它給出值「49」或「0x31」。 – Guffa 2010-10-26 22:39:16

+0

謝謝,我會尋找一些不同的轉換代碼,然後;) – internetmw 2010-10-26 22:52:23

0

0xF0和0xf0是相同的東西。當你查看並看到0xf0(帶有調試器或其他)時,該工具簡單地決定使用小寫字母。 F和f均意味着4位全部等於1