Moodsky 发表于 2007-2-8 16:24:24

Byte快速转换为16进制字符

在程序局部调用asm:
function ByteToHex(Src: Byte): String;
begin
SetLength(Result, 2);
asm
    MOV         EDI,
    MOV         EDI,
    MOV         AL, Src
    MOV         AH, AL          // Save to AH
    SHR         AL, 4         // Output High 4 Bits
    ADD         AL, '0'
    CMP         AL, '9'
    JBE         @@OutCharLo
    ADD         AL, 'A'-'9'-1
@@OutCharLo:
    AND         AH, $f
    ADD         AH, '0'
    CMP         AH, '9'
    JBE         @@OutChar
    ADD         AH, 'A'-'9'-1
@@OutChar:
    STOSW
end;
end;
  该子程序可以实现把一字节的Src转换为16进制形式的字符串。刚好
一位站友有这样的问题,够快了吧?:)
页: [1]
查看完整版本: Byte快速转换为16进制字符