Subject: Re: [hybi] US-ASCII vs. ASCII in Web Socket Protocol

From: Ian Hickson <[email-masked]>
Date: Tue, 2 Feb 2010 00:30:53 +0000 (UTC)

(-cc whatwg to reduce cross-posting)

On Sat, 30 Jan 2010, Julian Reschke wrote:
> Ian Hickson wrote:
> > On Fri, 4 Dec 2009, WeBMartians wrote:
> > > Hmmm... Maybe it would be better to say ISO-646US rather than ASCII. There
> > > is a lot of impreciseness about the very low value characters (less than
> > > 0x20 space) in the ASCII "specifications." The same can be said about the
> > > higher end.
> > 
> > Where the interpretation was normative, I've used the term "ANSI_X3.4-1968
> > (US-ASCII)" and referenced RFC1345.
> 
> I think you just lost both readability and precision.
> 
> Please keep saying "ASCII" or "US-ASCII", and then have a reference to the
> ANSI or ISO spec that actually defines ASCII, such as
> 
>    [ANSI.X3-4.1986]  American National Standards Institute, "Coded
>                      Character Set - 7-bit American Standard Code for
>                      Information Interchange", ANSI X3.4, 1986.
> 
> (taken from the relatively recent RFC 5322).
> 
> RFC 1345 is a non-maintained, historic informational RFC that's nit 
> really a good definition for ASCII. If you disagree, please name a 
> single RFC that has been published in the last 20 years that uses RFC 
> 1345 to reference ASCII (I just searched, and couldn't find any).

I used "ANSI_X3.4-1968" because that's the canonical name for US-ASCII, 
and I used RFC1345 because that's the canonical reference. If you disagree 
with these choices, please update the IANA registry.

On Sun, 31 Jan 2010, NARUSE, Yui wrote:
>
> The use of US-ASCII and ASCII in draft-hixie-thewebsocketprotocol-54 is 
> correct. Changing all to ASCII or ANSI_X3.4-1968 is not correct.

I only changed it in the cases where it referenced the actual encoding.

> In draft-hixie-thewebsocketprotocol-54, allthe term "US-ASCII" are used 
> as "encoded as US-ASCII". This use is as encoding name. So the prefered 
> MIME name, "US-ASCII" is correct.

The term "US-ASCII" caused confusion, unfortunately, which is why I 
changed to the less ambiguous ANSI_X3.4-1968. I agree that using the 
preferred MIME name is better than using the canonical name in general.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

---

From: SM <[email-masked]>
Date: Mon, 01 Feb 2010 16:47:57 -0800

>with these choices, please update the IANA registry.

Julian Reschke is correct; RFC 1345 should not be used as a normative 
reference.  Please use the reference that he suggested ([ANSI.X3-4.1986]).

Regards,
-sm

---

From: Ian Hickson <[email-masked]>
Date: Tue, 2 Feb 2010 00:56:27 +0000 (UTC)

> reference.  Please use the reference that he suggested 

Again, I'm just using what the IANA uses. If the IANA's reference is out 
of date, then please update the IANA registry. I've no intention of 
playing reference hot potato, where every 3 months the "best reference" 
changes and I have to update all the references.

RFC1345 works fine as a reference for the purposes of the Web Socket 
spec, anyway.

---

From: Julian Reschke <[email-masked]>
Date: Tue, 02 Feb 2010 08:38:28 +0100

Ian Hickson wrote:
> ...
> ...

The issue with the registry is orthogonal.

Anyway, this will come up again if this becomes a Working Group document.

Best regards, Julian

---

From: Julian Reschke <[email-masked]>
Date: Tue, 02 Feb 2010 08:47:11 +0100

> RFC1345 works fine as a reference for the purposes of the Web Socket 

RFC 1345 never was the "best reference"; actually, as far as I can tell, 
it never has been used as a normative reference for US-ASCII in *any* RFC.

BR, Julian

---

From: "Martin J. Dürst" <[email-masked]>
Date: Tue, 02 Feb 2010 19:18:31 +0900

>>>> 0x20 space) in the ASCII "specifications." The same can be said about the

The higher end (0x80-0xFF) is undefined. Everything else isn't US-ASCII. 
The lower end is well defined for some cases (HT, CR, LF, FF,...) and 
otherwise unused (or only used based on a private agreement, see e.g. 
section 16.1 of Unicode 5.0) and therefore irrelevant. Replacing 
US-ASCII with something cryptic like "ISO-646US" or "ANSI_X3.4-1968" or 
whatever doesn't change that at all.

> I used "ANSI_X3.4-1968" because that's the canonical name for US-ASCII,

If there's something that says "preferred MIME name" in the IANA 
registry, then that's often a sign that the value in the Name: field is 
almost completely irrelevant. In the specific case at hand, that's 
clearly the case. Actually, for that specific case, even the explanatory 
text at the top of the registry page clearly says
"The use of the name US-ASCII is also encouraged."

> with these choices, please update the IANA registry.

It's not the canonical reference, it's a historical reference. RFC 1345 
is the document that was used to register US-ASCII in the IANA registry, 
not the document that defines US-ASCII, even from an IETF or IANA 
viewpoint. If you have any doubts about that, please feel free to 
contact the relevant mailing list (see 
http://www.iana.org/assignments/charset-info), where I can tell you that 
with my charset reviewer hat on.

> The term "US-ASCII" caused confusion, unfortunately,

Can you explain? I have quite a bit of experience with character 
encoding, but I don't remember ever having heard the claim that 
"US-ASCII" causes confusion. In an IETF and Internet context, it is very 
well defined and uniformly used.

> which is why I
> changed to the less ambiguous ANSI_X3.4-1968.

Not less ambiguous, but totally obscure for everbody.

Regards,   Martin.

-- 
#-# Martin J. Dürst, Professor, Aoyama Gakuin University
#-# http://www.sw.it.aoyama.ac.jp   mailto:[email-masked]

---

From: "Martin J. Dürst" <[email-masked]>
Date: Tue, 02 Feb 2010 19:27:35 +0900

Hello Ian,

On 2010/02/02 9:56, Ian Hickson wrote:
> of date, then please update the IANA registry.

As I wrote in another mail, it's a historical reference (how did this 
end up here).

> I've no intention of

Not wanting to play reference hot potato is no good reason for choosing 
the worst possible reference in this case. US-ASCII, and the references 
for it, don't change that often these days, either.

Not wanting to play reference hot potato is also no good reason for not 
following the clear an unanimous advice of (if I'm counting correctly) 3 
(and now 4 with me) people on the mailing list.

If somebody requests the reference to be changed from ANSI.X3-4.1986 to 
ISO 646 IRV or back, then that would be the place to bring up the "hot 
potato" metaphor.

Regards,   Martin.

---

From: Ian Hickson <[email-masked]>
Date: Tue, 2 Feb 2010 10:42:45 +0000 (UTC)

On Tue, 2 Feb 2010, "Martin J. Dürst" wrote:
> >
> > I've no intention of playing reference hot potato, where every 3 
> > months the "best reference" changes and I have to update all the 
> > references.
> 

I'm doing what IANA does. If you want me to do something else, change what 
IANA does. Plus, the reference the spec currently has actually provides 
easily accessible information (RFC1345 is trivially discoverable and has 
the actual definition of the character set right there). On the other 
hand, 'American National Standards Institute, "Coded Character Set - 7-bit 
American Standard Code for Information Interchange", ANSI X3.4, 1986.' is 
one of the least informative references ever -- a Google search for that 
search term doesn't even find a spec, let alone an actual definition!

This is possibly the least important thing anyone has ever asked me to 
change in any spec ever, and I've no intention of spending any more time 
on it. Can we please focus on stuff that is actually going to affect Web 
authors? Stuff that matters?

---

From: Julian Reschke <[email-masked]>
Date: Tue, 02 Feb 2010 14:59:18 +0100

WeBMartians wrote:
> Curiosity: Why can't the document reference ISO-646US?
> ...

As far as I can tell, it could. When I checked the RFC collection, 
references to the ANSI spec seemed to be used more frequently.

Here's an excerpt from RFC 5198 which might be relevant:

    [ASCII]           American National Standards Institute (formerly
                      United States of America Standards Institute), "USA
                      Code for Information Interchange", ANSI X3.4-1968,
                      1968.

                      ANSI X3.4-1968 has been replaced by newer versions
                      with slight modifications, but the 1968 version
                      remains definitive for the Internet.  ISO 646
                      International Reverence Version (IRV)
                      [ISO.646.1991] is usually considered equivalent to
                      ASCII.

    [ISO.646.1991]    International Organization for Standardization,
                      "Information technology - ISO 7-bit coded character
                      set for information interchange", ISO Standard 646,
                      1991.

Best regards, Julian