怎么把字符转换成16进制数?
高手指教一下吧。

解决方案 »

  1.   

    我要转换的是一个字符串string类型的
      

  2.   

    inttohex(strtoint(数值型字符串),要转换成的位数)
    例:inttohex(strtoint('255',2));  //结果是FF
      

  3.   

    如果字符串时‘abcd’就不能用StrToInt(),会出错的。
      

  4.   

    自己写代码啊,我给你一个我写的不过是VC的,自己作一下转换吧。
    int GetHex(unsigned char *InStr,unsigned char *OuStr,int Len)
    {
    int i,j,tmp;
    tmp=0;
    for(i=0;i<Len;i++)
    {
    j=i*2;
    tmp=(InStr[i]>>4)&0x0f;
    if(tmp>9)
    tmp=tmp+55;
    else
    tmp=tmp+48;
    OuStr[j]=tmp;
    tmp=InStr[i]&0x0f;
    if(tmp>9)
    tmp=tmp+55;
    else
    tmp=tmp+48;
    OuStr[j+1]=tmp;
    OuStr[j+2]='\0';
    }
    return 1;
    }
      

  5.   

    Var
      TmpS: String;
      TmpH: String;
      I: Integer;
    Begin
      TmpS:= 'ABCD';
      TmpH:= '';
      For I:=1 To Length(TmpS) Do
        TmpH:= TmpH + IntToHex(Ord(TmpS[I]), 2)
    End;我真想不明白.你就不能通过1楼说的方法变通一下嘛.活学活用嘛.
      

  6.   

    简单.
    showmessage(IntToHex(StrToInt('10'),2));