我試圖將一個字節添加到一個數組,如下所示:添加字節數組中刪除大寫字母
messagedata.Add((byte)0xF0);
但是當我檢查數組,該項目看起來像0XF0但它,因爲它的將是一條MIDI信息,我發現它必須是大寫字母F.我能做些什麼來保持字母大寫?
我試圖將一個字節添加到一個數組,如下所示:添加字節數組中刪除大寫字母
messagedata.Add((byte)0xF0);
但是當我檢查數組,該項目看起來像0XF0但它,因爲它的將是一條MIDI信息,我發現它必須是大寫字母F.我能做些什麼來保持字母大寫?
由於字母未存儲在數組中,因此不能保留大寫字母。存儲在數組中的唯一東西是一個數字值,而0xf0
只是將該值表示爲文本的一種方法。
您不需要保留大寫字母。 MIDI消息以字節發送,而不是文本,因此0xf0
和0xF0
是具有相同值的文本表示。還有其他方法可以表示與文本相同的值,如240
,0360
或%11110000
,它們都表示相同的內容。
此代碼:
messagedata.Add((byte)240);
產生完全相同的結果如上代碼。可執行代碼將是相同的,並且不可能通過檢查編譯代碼來確定使用哪些代碼。
0xF0和0xf0是相同的東西。當你查看並看到0xf0(帶有調試器或其他)時,該工具簡單地決定使用小寫字母。 F和f均意味着4位全部等於1
感謝您的快速響應。似乎問題在於別的東西:當一個整數(例如1)被轉換時,它會導致0x00,但我需要0x31 ...任何建議? – internetmw 2010-10-26 22:25:36
@internetmw:如果將整數值「1」轉換爲一個字節,則會得到一個值爲「1」或「0x01」的字節。也許你想將字符值「1」轉換爲一個字節,它給出值「49」或「0x31」。 – Guffa 2010-10-26 22:39:16
謝謝,我會尋找一些不同的轉換代碼,然後;) – internetmw 2010-10-26 22:52:23