不好意思,上一个问题问错了。各位请问,如何返'王'的Unicode 字符代码,及如何反过来求?

解决方案 »

  1.   

    (WORD(hzchar[1]) shl 8 + WORD(hzchar[2]))
      

  2.   

    对Unicode来说Word(WideString('王')[1])
    WideChar($738B)
      

  3.   


    function EncodeWideString(Value:WideString):String;
    //encode the widestring to saveable string
    //2003.03.04
    var
      I:Integer;
    begin
      Result:='';
      for I:=1 to Length(Value) do begin
        Result:=Result+IntToHex(WORD(Value[I]) shr 8,2);
        Result:=Result+IntToHex(WORD(Value[I]) and $00ff,2);
      end;
    end;function DecodeWideString(Value:String):WideString;
    //decode the string to widestring
    //2003.03.04
    var
      I:Integer;
    begin
      Result:='';
      for I:=0 to (Length(Value) div 4)-1 do begin
        Result:=Result+WChar(StrToInt('$'+Value[I*4+1]+Value[I*4+2]) shl 8
            + StrToInt('$'+Value[I*4+3]+Value[I*4+4]));
      end;
    end;function EncodeUnicodeSQL(Value:WideString):String;
    //encode the widestring to string of unicode ascii set
    //be used for search unicode char in SQL server
    //2003.03.21
    var
      I:Integer;
    begin
      Result:='';
      for I:=1 to Length(Value) do begin
        if I>1 then begin
          Result:=Result+'+';
        end;
        Result:=Result+'NCHAR('+IntToStr(Word(Value[I]))+')';
      end;
    end;