International standards for coded character sets were aimed at enabling users to uninhibited interchange of data. It is the more surprising to discover to which extent the few standards in existence were taken as a basis to create an increasing variety of code tables in actual systems. Not only manufacturers took the opportunity to make their products different from those of their competitors, but even within a company like IBM incompatibilities were multiplying. Only in the last years uniformity appears to become a desirable target again.
Some classification is needed to get a clear picture of the present situation. For this reason we group the codetables as follows:
2. A number of codetables for PC's is actually based on ASCII, but contains only the G0 set unchanged. The C0 and C1 space is used for graphic characters, and G1 has a content of its own. Some octets, however, may be interpreted as a control character, dependent on the software that is active at the moment. For PC-DOS IBM introduced CP437, later CP850 for OS/2, (containing the whole repertoire of LATIN-1). Apple caused considerable confusion by associating codetables with the name of a "font", and by supplying one table for each lettertype. This is regretted now. Atari presented a completely individual filling, in which even Hebrew letters occur. All these variants are often called "Extended ASCII". It will be clear that using a term like this is pointless, where so many different extensions exist. More serious is the consideration that LATIN-1 does not cover Eastern Europe, nor some other languages. Thus other PC-codetables were created by IBM to cater for those users.
3. IBM continued to develop EBCDIC by putting further graphic characters into empty places into the code table. IBM uses its own terminology, and speaks of "codepoints" and "code pages", where ISO has "positions" and "code tables". Because "versions" of EBCDIC had been introduced for various countries or languages, like with ISO 646, "code pages" were created that would preserve continuity in the country using the national version. This was achieved by extending the repertoire to that of LATIN-1. In this way, CECP's (Country Extended Code pages) came to exist that all contain the same characters, but each with a different coding for many of these. For the Netherlands CP037 is adopted, identical to that for the US. The same content of characters but with a different coding is provided with CP500, meant for Belgium and also for Switzerland. This may create confusion at exchanging data between uninformed users, because a code meant for a letter may be received as a parenthesis. For Eastern Europe there exists a set based on LATIN-2 (CP870). In the Annexes a number of the most frequently used code pages is demonstrated.