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;