| Typ | Zakres | Format | 
|---|---|---|
| AnsiChar | Znaki z rozszerzonej tabeli ANSI | 8 bitów | 
| WideChar | Znaki z tabeli UNICODE | 16 bitów | 
Pierwsze 256 znaków Unicode jest zgodne ze znakami ANSI.
| Typ | Zakres | Format | 
|---|---|---|
| Char | Char=AnsiChar | 8 bitów | 
Funkcja SizeOf zwraca rozmiar argumentu w bajtach - może być użyta do identyfikacji typu znakowego.
Funkcja Chr zwraca znak z tabeli ANSI bądź UNICODE o podanym numerze; na przykład, Chr(65) zwraca znak 'A'.
Wartości znakowe, podczas dekrementacji najmniejszej bądź inkrementacji największej wartości przybierają wartość z przeciwnego krańca zakresu (przy wyłączonej kontroli zakresów Range checking). Na przykład po wykonaniu kodu:
var
  Letter: Char;
  I: Integer;
begin
  Letter := High(Letter);
  for I := 1 to 66 do
    Inc(Letter);
end;
zmienna Letter osiągnie wartość 'A' (ASCII 65).