我从串口收到16进制码为:34 46 36 30 35 39 37 44,
我已经知道它是"你好"的16进制码
怎么定义变量,怎么将其转为汉字?
又怎么将汉字转为代码发出去?

解决方案 »

  1.   

    你这是16进制的吗,是10进制的把,先用IntToHex(value,16)把他转换成16进制。
    然后得到的是c4e3bac3 汉字是双字节的,必须两个字符一起
    以下是一个例子可以得到汉字
    procedure TForm1.Button1Click(Sender: TObject);
    var i:integer;
        str:string;
    begin
        i:=1;
        str:=edit1.text;
        edit1.text:='';
        while i < length(str) do
        begin
          Edit1.text:=edit1.text+ chr(strtoint('$'+str[i]+str[i+1]))+chr(strtoint('$'+str[i+2]+str[i+3]));
          i:=i+4;
        end;end;
      

  2.   

    34 46 36 30 35 39 37 44应该为36 30 41 38 35 39 37 44,它是我从串口用16进制收回来的,怎么把它转换为c4e3bac3,
    用这个IntToHex(value,16)好像不行?
    搞完结账
      

  3.   

    34 46 36 30 35 39 37 44应该为36 30 41 38 35 39 37 44,它是我从串口用16进制收回来的,怎么把它转换为c4e3bac3,
    用这个IntToHex(value,16)好像不行?
    搞完结账怎么解析这个问题啊?  不会转换啊
      能给个提示嘛?  
     [email protected]