7,785
社区成员




Public Function UnicodeEncode(bTemp As String) As Byte()
'编码UNICODE UTF-16
Dim i As Long
Dim k As Long
Dim strTotal() As Byte
Dim Code As Long
Dim bNo As Long
k = Len(bTemp)
ReDim strTotal(k * 2)
strTotal(0) = CByte("00")
bNo = 0
For i = 1 To k
Code = CLng("&H" + Hex(AscW(Mid(bTemp, i, 1))))
strTotal(bNo) = Code \ 256
strTotal(bNo + 1) = Code And 255
bNo = bNo + 2
Next
ReDim Preserve strTotal(bNo - 1)
UnicodeEncode = strTotal
End Function
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;