【发布时间】:2011-05-01 00:25:23
【问题描述】:
我尝试向数组中添加一个字节,如下所示:
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);
产生与您上面的代码完全相同的结果。可执行代码将是相同的,并且无法通过检查编译代码来确定使用了哪个代码。
【讨论】:
1转换成一个字节,你将得到一个值为1或0x01的字节。也许您想将字符值'1' 转换为一个字节,从而给出值49 或0x31。
0xF0 和 0xf0 是一回事。当您查看 0xf0(使用调试器或其他工具)时,该工具只是决定使用小写字母。 F和f都表示4位都等于1
【讨论】: