Wat een karakter is, wordt bepaald door een codering. Een codering is een systeem om karakters toe te wijzen aan reeksen bits.
De meest voorkomende karaktercodering is ASCII. Het codeert een set van 128 tekens. Dit is een basisset bestaande uit letters, hoofdletters en kleine letters, cijfers, leestekens, rekenkundige symbolen, enkele valutasymbolen, spatie, tab, nieuwe regel, regelterugloop en enkele andere.
Later werden extensies gedefinieerd voor letters met accenten en voor andere scripts zoals Cyrillisch en Grieks. De eerste was de CP437 van IBM. Deze uitbreidingssets werden gedefinieerd door codepagina’s, die elk een beperkt aantal niet-ASCII-tekens definieerden. Windows had zijn eigen notie van codepagina: 125x.
Dit alles was gebruikelijk vóór Unicode. Tekstbestanden uit deze tijd vormen de moeilijkheid dat niets in het bestand zelf aangeeft welke codepagina wordt gebruikt. Het is een kwestie van vallen en opstaan om de juiste codepagina te bepalen, en soms is het onmogelijk. Dit probleem wordt overgedragen naar oudere op tekst gebaseerde indelingen zoals CSV en SQL. Hoewel de structuur van SQL- en CSV-bestanden meestal goed is gedefinieerd, blijft het gebruik van niet-aangegeven codepagina’s een aansprakelijkheid.
Non-Unicode tekst is een non-preferred format binnen bestandstype Platte tekst.