2010-10-26 36 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