Welcome

首页 / 软件开发 / Delphi / Delphi的字符及字符串[6] - Char(AnsiChar)、WideChar与其编码的相互转换

Delphi的字符及字符串[6] - Char(AnsiChar)、WideChar与其编码的相互转换2011-12-15 cnblogs 万一Delphi的字符及字符串[6] - Char(AnsiChar)、WideChar与其编码的相互转换

//Char 类型与其编码值的转换:

var
b: Byte;
c: Char;
begin
b := Ord("A"); {返回: 65}
b := Ord(#65); {返回: 65}
b := Ord($41); {返回: 65}
b := Ord(#$41); {返回: 65}
b := Byte("A"); {返回: 65}
b := Byte(#65); {返回: 65}
b := Byte($41); {返回: 65}
b := Byte(#$41); {返回: 65}
c := Chr(65); {返回: A }
c := Chr($41); {返回: A }
c := Char(65); {返回: A }
c := Char($41); {返回: A }
end;

//WideChar 类型与其编码值的转换; 汉字的 UniCode 编码范围是: $4E00..$9FA5

var
w : Word;
c : WideChar;
ws: WideString;
s : string;
begin
{准备工作}
ws := "万一";
c := ws[1];
//ShowMessage(c); {万}
{从汉字到 UniCode 编码}
w := Ord(c); {返回十进制数 : 19975}
w := Word(c); {返回十进制数 : 19975}
s := Format("%.4x",[Ord(c)]); {返回十六进制的字符串: 4E07 }
s := IntToHex(Ord(c), 4); {返回十六进制的字符串: 4E07 }
{从 UniCode 编码到汉字}
c := #19975; {万}
c := #$4E07; {万}
c := #$4e07; {万}
c := WideChar(19975); {万}
c := WideChar($4E07); {万}
end;