3 ms·
So EBCDIC is like “ASCII” in that there isn’t one true definition (people making 8 bit code pages and claiming it was ASCII)?
by colejohnson66 6y ago
So EBCDIC is like “ASCII” in that there isn’t one true definition (people making 8 bit code pages and claiming it was ASCII)?
- meepmorp 6y agoKind of, but the incompatible versions all come from IBM.
- skissane 6y agoAlthough IBM invented EBCDIC, other vendors adopted it, and some of those other vendors created their own slightly incompatible versions of it as well. For example, Unisys mainframes (running MCP) have their own EBCDIC variant called "ASERIESEBCDIC" (named for its A Series mainframes). They also support another EBCDIC variant called "STDEBCDIC" ("Standard EBCDIC"), which I am guessing by its name is more compatible with IBM's (although I'm not sure which IBM code page it corresponds to)
- skissane 6y agoEven if we limit ourselves to 7-bit codes, ASCII still doesn't have one true definition. US-ASCII was first published in 1963. In 1967, a new revision was published which changed some of the characters – most significantly, left arrow was replaced by underscore and up arrow was replaced by caret, although also some control characters were renamed/replaced. The vast majority of systems nowadays use the 1967 revision, which is also the basis of subsequent standards such as ISO-8859 and UTF-8. However, the 1963 standard did see some historically significant use – Smalltalk adopted it, and even today some Smalltalk implementations display up and left arrow instead of caret and underscore. It also influenced the choice to use the caret for exponentiation in languages such as BASIC (the original Dartmouth BASIC used 1963 ASCII rather than 1967.) The ASCII extension used by 8-bit Commodore systems (PET, VIC-20, C64, etc), PETSCII, is also based on the 1963 edition of ASCII rather than the 1967. There is also the broader family of compatible 7-bit codes of which US-ASCII is a member – ISO 646. ISO 646 codes take US-ASCII, and replace up to 12 punctuation symbols with symbols needed in non-US-English text. Some people will say that only US-ASCII is ASCII, and these other derived 7-bit codes are not. On the other hand, the very existence of the term "US-ASCII" (which is IANA's preferred term) suggests that these other variants are ASCIIs too, and the original is just the ASCII for the US. Indeed, the original developers of ASCII foresaw and expected the development of variants of it for non-US use. It was only the later development of 8-bit codes (and then even bigger codes, such as ISO 2022 and Unicode) which meant everyone could standardise on the US version. And the fact that popular programming languages ended up using (close to) the full complement of US-ASCII punctuation marks gave people the motivation to do so – others you had to rely on ugly hacks such as C and C++'s trigraphs and digraphs.