Programowanie w języku Delphi » Typy danych

Znakowe

  • 2012-02-01 22:04
  • 1 komentarz
  • 2145 odsłon
  • Oceń ten tekst jako pierwszy
Typ znakowy określa zbiór znaków. W zmiennej tego typu można zapamiętać kod pojedynczego znaku.

NazwaKrótki opis
CharKod [1 bajtowy] jednego znaku ASCII (0..255)
AnsiCharKod [1 bajtowy] jednego znaku ASCII (0..255) - równoznaczny z Char
WideCharKod [2 bajtowy] jednego znaku Unicode (UCS-2) (0..65535)
UCS2CharKod [2 bajtowy] jednego znaku Unicode (UCS-2) (0..65535) - równoznaczny z WideChar
UCS4CharKod [4 bajtowy] jednego znaku Unicode (UCS-4) (0..4294967295) - równoznaczny z LongWord


Mimo, iż niektóre systemy operacyjne (z rodziny Linux) obsługują Multi-Byte Character Strings (MBCS) ze znakami 4 bajtowymi (UCS-4), język Delphi pozwala jedynie na wbudowaną obsługę MBCS 2 bajtowych (UCS-2).

Obsługa Unicode (UCS-4) została osiągnięta przez utworzenie typu UCS4Char pochodnego z LongWord - wyjątkowo jest to typ liczbowy, a nie znakowy.

Przykład przypisania znaku o wybranym kodzie:
program Przyklad;
 
{$APPTYPE CONSOLE}
 
var C: Char;
    A: AnsiChar;
    W: WideChar;
    U2: UCS2Char;
    U4: UCS4Char;
begin
//Przypisanie znaku o kodzie 50
  C := #50;
  A := #50;
  w := #0050;
  U2 := #0050;
  U4 := 00000050; //Typ liczbowy!
  WriteLn(SizeOf(C));
  WriteLn(SizeOf(A));
  WriteLn(SizeOf(W));
  WriteLn(SizeOf(U2));
  WriteLn(SizeOf(U4));
end.


Łańcuchy Unicode (UTF-8) są obsługiwane jako typ łańcuchowy String i nie posiadają specjalnego typu znakowego.
  1. Kafelki
  2. Lista

Char

WideChar

AnsiChar

1 komentarz

Anoxic 2012-02-02 16:31

Od wersji D2009 Char=WideChar.