110,570
社区成员
发帖
与我相关
我的任务
分享
string str = "你好";
byte[] bytes = Encoding.Unicode.GetBytes(str);
string[] strArr = new string[bytes.Length];
Console.WriteLine("16进制显示'你好':");
for (i = 0; i < bytes.Length; i++)
{
strArr[i] = bytes[i].ToString("x");
Console.Write(strArr[i]+" ");
}
Console.WriteLine();
Console.WriteLine("从16进制转换回汉字:");
for (i = 0; i < strArr.Length; i++)
{
bytes[i] = byte.Parse(strArr[i], System.Globalization.NumberStyles.HexNumber);
}
string ret = Encoding.Unicode.GetString(bytes);
Console.WriteLine(ret);
//汉字 -> UniCode
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:= GetAscii(edit2.Text);
end;
function TForm1.GetAscii(const S: string): string;
var
I: Integer;
begin
for I := 1 to Length(S) do
Result := Result + IntTohex(Ord(S[I]),2);
end;
//UniCode -> 汉字
function TForm1.Getchr(AiUniCode : string) : String;
Var
ch, cl : String[3];
s ,s1,s2: String;
i:integer;
Begin
s2:=AiUniCode;
s1:='';
for i:=1 to length(s2) div 4 do
begin
ch :=Copy(s2, i*4-3, 2);
cl :=Copy(s2, i*4-1, 2);
s := Chr(StrToInt('$'+ch)) + Chr(StrToInt('$'+cl));
s1:=s1+s;
end;
Result := s1;
end;