十六进制到NSString,缩放0x40字节

时间:2012-09-16 14:55:36

标签: nsstring char hex byte

第二天尝试从字节值获取字符,该值由0x40字节缩放

我正在尝试从Logic Pro / Mackie Control获取十六进制值。

逻辑向我发送0xE,这意味着这是'n'。如果它发送给我“4e”,则意味着我应该在显示屏上画'n'。 (只需在末尾添加点)。

这是将char转换为byte的公式。请帮我制作反之亦然。

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构建十六进制。但我需要反过来,就是从十六进制中获取char。

0 个答案:

没有答案