//===============String to Hex=================== function StrToHex(sStr:string):string; var i:integer; sHex:string; begin if sStr='' then exit; for i:=1 to Length(sStr) do sHex:=sHex+inttohex(ord(sStr[i]),2); Result:=sHex; end;
//将你的过程改写为函数,方便调用; //================String to UTF-8============== function StrToUTF8(sStr: String):string; var UTF8: UTF8String; i: Integer; P: PChar; S: string; begin UTF8 := AnsiToUtf8(sStr); P := pchar(UTF8); S := ''; for I := 1 to Length(UTF8) do begin S := S + uppercase(inttohex(byte(p^), 2)); Inc(p); end; Result:=S; end; //谢了,分数全给你!
system;function AnsiToUtf8(const S: string): UTF8String;
HELP里可以查到所有字符转换的内容的
S: string;
s8: UTF8String;
i: Integer;
P: PChar;
sOut: string;
begin
s := '程序ABC';
s8 := AnsiToUtf8(s);
P := pchar(s8);
sOut := '';
for I := 0 to length(s8) - 1 do begin // Iterate
sOut := sOut + uppercase(inttohex(byte(p^), 2));
inc(p);
end; // for
Application.MessageBox(pchar(sOut), '', MB_OK + MB_ICONINFORMATION);
end;
function StrToHex(sStr:string):string;
var
i:integer;
sHex:string;
begin
if sStr='' then exit;
for i:=1 to Length(sStr) do
sHex:=sHex+inttohex(ord(sStr[i]),2);
Result:=sHex;
end;
//================String to UTF-8==============
function StrToUTF8(sStr: String):string;
var
UTF8: UTF8String;
i: Integer;
P: PChar;
S: string;
begin
UTF8 := AnsiToUtf8(sStr);
P := pchar(UTF8);
S := '';
for I := 1 to Length(UTF8) do begin
S := S + uppercase(inttohex(byte(p^), 2));
Inc(p);
end;
Result:=S;
end;
//谢了,分数全给你!
例如:CSDN -->轉UNICODE後,就是 4300530044004E00
CSDN中文 -->轉UTF-8,就是 4353444EE4B8ADE69687自己算算這樣轉後會有多少個自己增加了?