On Tue, 28 Feb 2012 01:05:44 +0100, Glenn Maynard <[email protected]> wrote:
On Mon, Feb 27, 2012 at 5:34 PM, Arun Ranganathan
<[email protected]>wrote:
Simon,
Is the relevant part of HTML sufficient to refer to?
http://dev.w3.org/html5/spec/Overview.html#utf-8
I was thinking of "If the data argument has any unpaired surrogates, then
throw a SyntaxError exception.".
http://www.whatwg.org/specs/web-apps/current-work/multipage/network.html#dom-websocket-send
That defines decoding UTF-8 to Unicode strings. You need the reverse.
Using a replacement scheme like UTF-8 decoding, instead of a hard
exception, seems more consistent with how encodings in general are
handled. Otherwise, you'll end up with bugs in code if, for example,
people paste in unpaired surrogates (Firefox allows this, last I
checked),
Maybe unpaired surrogates should be converted to U+FFFD on paste. Are
there other cases?
causing unexpected exceptions in code. Instead, just convert them to
U+FFFD, which gives much more graceful error handling for such a rare
case
that most people will never handle explicitly.
If we can't U+FFFD unpaired surrogates on paste, I agree it makes sense to
U+FFFD them in APIs. If the only way to get them is a JS escape, then an
exception seems OK.
I think WebSocket should do the same, for the same reason.
Have you filed a bug?
--
Simon Pieters
Opera Software