之所以想转是因为不知道原函数的真正意图是什么,有时候一句代码的差别就会导致函数返回结果的错误。
不过这个函数我已经找到正确的转换方法了,真正应了那句话:求人不如求己!
arrByte: array of byte;
Function ConvertUnicode(const ChineseStr: WideString): arrByte;
var
i, k, bNo, code: LongInt;
strTotal: arrByte;
n, n1,str: string;
begin
k := Length(ChineseStr);
SetLength(strTotal, k*2);
strTotal[0] := 00;
bNo := 0;
For i := 1 To k do
begin
n1 := Copy(ChineseStr, i, 1);
n := UnicodeEncodes(n1);
code := StrToInt('$' + n);
strTotal[bNo] := Code div 256;
strTotal[bNo + 1] := Code And 255;
bNo := bNo + 2;
end;
Result := strTotal;
end;