What specification defines ASCII encoding as an 8-bit format?
Re:Things Every Hacker Once Knew
by LegionMammal978 on Friday September 29, 2023 @08:22AM
(#37702775)
RFC 20 [0] defines an 8-bit "ASCII Format for Network Interchange". The older documents are careful to call it "network ASCII" or "ASCII-8" (or the related "NVT-ASCII" for TELNET), but some newer documents (e.g., [1], [2], or [3]) abbreviate the name to "ASCII" in the context of network interchange. (Though I don't mean to refute that "ASCII" or "7-bit ASCII" or especially "US-ASCII" can refer to rhe 7-bit codeset, only to note that the unqualified name has been overloaded to refer to 8-bit ASCII as well.)
[0] https://www.rfc-editor.org/rfc/rfc20.html
[1] https://www.rfc-editor.org/rfc/rfc822.html
I'd argue that the need to provide a specification for ASCII as an 8-bit format is pretty strong evidence of the existence of ASCII in other formats :)
Re:Things Every Hacker Once Knew
by SAI_Peregrinus on Friday September 29, 2023 @09:29AM
(#37703921)
ASCII is standardized in (latest version) ANSI X3.4-1986, not by an internet RFC. That standard did not define an 8-bit encoding of ASCII, only a 7-bit encoding. That the IETF later called an 8-bit encoding ASCII just causes confusion. IMO they should have called it ISCII, for IETF Standard Code for Information Interchange.
Re:Things Every Hacker Once Knew
by LegionMammal978 on Friday September 29, 2023 @12:30PM
(#37706597)
The 8-bit "ASCII Format for Network Interchange" (generally called "network ASCII" or "net-ASCII" or similar) is defined in the very first paragraph of RFC 20:
> For concreteness, we suggest the use of standard 7-bit ASCII embedded in an 8 bit byte whose high order bit is always 0.
Meanwhile, while we're nitpicking, ANSI X3.4-1986 defines the "7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)". It's up to us to interpret "ASCII" as "7-bit ASCII" or "network ASCII" or any other form of ASCII according to context.
ASCII is an encoding, and sometimes people refer to the ASCII charset as "ASCII" too. So it does define on-disk representation. A file with the leading 0s removed is no longer ascii-encoded. Similarly, a gzipped ASCII file is also no longer an ASCII file