Private Sub Command1_Click() 
Dim c As Integer 
c = Len(Text1) - 1 
ReDim a(c) As String 
If Len(Text1) Mod 2 = 1 Then ReDim a(UBound(a) + 1) 
For i = 0 To Len(Text1) - 1 
a(i) = Mid(Text1, i + 1, 1) 
Next i 
Text2 = "" a(UBound(a)) = Chr(0) 
For i = LBound(a) To UBound(a) Step 2 
k = "" 
If Len(Cstr(Hex(Asc(a(i + 1)))))=2 Then k = "%u" & Hex(Asc(a(i + 1))) Else k = "%u0" & Hex(Asc(a(i + 1))) 
If Len(Cstr(Hex(Asc(a(i)))))=2 Then k = k & Hex(Asc(a(i))) Else k = k & "0" & Hex(Asc(a(i))) 
Text2 = Text2 & k 
Next i 
End Sub 

解决方案 »

  1.   

    BV?VB吧?!一个TButton,两个TEditprocedure TForm1.Button1Click(Sender: TObject);
    var
      c : Smallint;
      Text1,Text2, K: WideString;
      a: Array of WideString;  i: Integer;
    begin
      Text1 := Edit1.Text;
      
      c := Length(Text1) - 1;
      SetLength(a,c+1);
      If (Length(Text1) Mod 2) = 1 Then
        SetLength(a,Length(a)+1);  For i := 0 To Length(Text1) - 1 do begin
        a[i] := Text1[i + 1];
      End;  Text2 := '';  a[Length(a)] := #0;  while i< Length(a) do begin
      
        k := '';
        If Length(IntToHex(Word(PWideChar(a[i + 1])^),2))=2 Then
          k := '%u' + IntToHex(Word(PWideChar(a[i + 1])^),2)
        Else
          k := '%u0' + IntToHex(Word(PWideChar(a[i + 1])^),2);    If Length(IntToHex(Word(PWideChar(a[i])^),2))=2 Then
          k := k + IntToHex(Word(PWideChar(a[i])^),2)
        Else
          k := k + '0' + IntToHex(Word(PWideChar(a[i ])^),2);    Text2 := Text2 + k;
        Inc(i,2);
      end;  Edit2.Text := Text2;
    end;