第二天试图从按 0x40 字节缩放的字节值中获取字符
我正在尝试从 Logic Pro/Mackie Control 获取十六进制值。
逻辑向我发送 0xE,这意味着这是“n”。如果它向我发送“4e”,则意味着我应该在显示屏上绘制“n”。(只需在末尾添加点)。
这是将字符转换为字节的公式。请帮我制作反之亦然的公式。
char translate_seven_segment( char achar )
{
achar = toupper( achar );
if ( achar >= 0x40 && achar <= 0x60 )
return achar - 0x40;
else if ( achar >= 0x21 && achar <= 0x3f )
return achar;
else
return 0x00;
}
char s = 'N';
Byte ad = translate_seven_segment( s ) + ( '.' == '.' ? 0x40 : 0x00 );
我还发现了以下代码(这似乎没有 topper()):
def translate_seven_segment( char )
case char
when 0x40..0x60
char - 0x40
when 0x21..0x3f
char
else
0x00
end
end
我怎样才能扭转它?我知道 mackie 使用此代码从 char 构建十六进制。但我需要反之亦然,就是从十六进制中获取字符。