function GetPyChar (const HZ: AnsiString):string ;
const 
  HZCode:array [0..25, 0..1] of Integer = ((1601, 1636), (1637, 1832), (1833, 2077),
    (2078, 2273), (2274, 2301), (2302, 2432), (2433, 2593), (2594, 2786), (9999, 0000),
    (2787, 3105), (3106, 3211), (3212, 3471), (3472, 3634), (3635, 3722), (3723, 3729),
    (3730, 3857), (3858, 4026), (4027, 4085), (4086, 4389), (4390, 4557), (9999, 0000),
    (9999, 0000), (4558, 4683), (4684, 4924), (4925, 5248), (5249, 5589));
var
  i, j, HzOrd: Integer;
begin 
  i: =1;
  while i <= Length (HZ)do
    begin
    if (HZ [i]> =# 160) and (HZ [i +1]> = # 160) then
    begin 
      HzOrd: = (Ord (HZ [i])-160) * 100 + Ord (HZ [i + 1])- 160;
      for j: =0 to 25 do
      begin
        if (HzOrd> = HZCode [j] [0]) and (HzOrd <= HZCode [j] [1]) then
        begin 
          Result: = Result + Char (Byte ('A') + j);
          Break;
        end ;
      end ;
      Inc (i);
    end else Result: = Result + HZ [i];
      Inc (i);
  end ;
end ;

//test:
procedure TForm1.Button1Click (Sender: TObject);
begin 
  ShowMessage (GetPyChar ('In case of a Delphi blog'));   // Result: WYD Delphi BK
end ;


// Only separate Chinese characters:
function GetPyFitstChar (HZ: AnsiString): Char;
begin
  case LoWord (HZ [1]) shl 8 + LoWord (HZ [2]) of
    $ B0A1..$ B0C4: Result: = 'A';
    $ B0C5..$ B2C0: Result: = 'B';
    $ B2C1..$ B4ED: Result: = 'C';
    $ B4EE..$ B6E9: Result: = 'D';
    $ B6EA..$ B7A1: Result: = 'E';
    $ B7A2..$ B8C0: Result: = 'F';
    $ B8C1..$ B9FD: Result: = 'G';
    $ B9FE..$ BBF6: Result: = 'H';
    $ BBF7..$ BFA5: Result: = 'J';
    $ BFA6..$ C0AB: Result: = 'K';
    $ C0AC..$ C2E7: Result: = 'L';
    $ C2E8..$ C4C2: Result: = 'M';
    $ C4C3..$ C5B5: Result: = 'N';
    $ C5B6..$ C5BD: Result: = 'O';
    $ C5BE..$ C6D9: Result: = 'P';
    $ C6DA..$ C8BA: Result: = 'Q';
    $ C8BB..$ C8F5: Result: = 'R';
    $ C8F6..$ CBF9: Result: = 'S';
    $ CBFA..$ CDD9: Result: = 'T';
    $ CDDA..$ CEF3: Result: = 'W';
    $ CEF4..$ D188: Result: = 'X';
    $ D1B9..$ D4D0: Result: = 'Y';
    $ D4D1..$ D7F9: Result: = 'Z';
  else 
    Result: = Char (0);
  end ;
end ;

//test:
procedure TForm1.Button1Click (Sender: TObject);
begin 
  ShowMessage (GetPyFitstChar ('中国'));   
end ;