POSIX nie wymaga kodowania określonych znaków. Jedynym znakiem na stałej pozycji jest null, który musi wynosić 00.
POSIX wymaga, aby istniały wszystkie znaki z jego przenośnego zestawu znaków . Przenośny zestaw znaków zawiera drukowalne znaki ASCII, spację, BEL, backspace, tab, powrót karetki, nowy wiersz, tabulator pionowy, wysuw formularza i null. Gdzie i jak są one kodowane, nie jest określone, z wyjątkiem tego, że:
- Wszystkie są jednobajtowe (8 bitów).
- Null jest reprezentowany przez wszystkie bity zero.
- Cyfry 0–9 pojawiają się w tej kolejności w sposób ciągły.
Nie nakłada żadnych innych ograniczeń na reprezentację znaków, więc zgodny system może obsługiwać kodowanie z dowolną reprezentacją tych znaków, a także innych znaków.
Różne ustawienia regionalne w tym samym systemie mogą mieć różne reprezentacje tych znaków, z wyjątkiem .
i /
oraz
jeśli aplikacja korzysta z dowolnej pary ustawień narodowych, w których kodowanie znaków różni się, lub uzyskuje dostęp do danych z aplikacji przy użyciu ustawień regionalnych, które mają inne kodowania niż ustawienia narodowe używane przez aplikację, wyniki nie są określone.
Jedynymi plikami, które wszystkie systemy zgodne z POSIX muszą traktować w ten sam sposób, są pliki składające się w całości z pustych bajtów. Pliki traktowane jak tekst mają swoje wiersze zakończone reprezentacją kodowania znaku nowej linii PCS .