<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Mark--<div><br></div><div>Of course.  Sorry.  That should have been "\U10ffff is equivalent to \udbff\udfff", with a capital U, or "\u{10ffff} is equivalent to \udbff\udfff".</div><div><br></div><div>--Rich</div><div><br><div><div>On Jan 25, 2012, at 11:11 AM, Mark Davis ☕ wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><font face="times new roman,serif">You can't use \u10FFFF as syntax, because that could be \u10FF followed by literal FF. A better syntax is \u{...}, with 1 to 6 digits, values from 0 .. 10FFFF.<br clear="all"></font><font face="'times new roman', serif"><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px;font-family:Times;font-size:medium">
<span style="font-family:'times new roman',serif;font-size:small"><br></span></div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px;font-family:Times;font-size:medium">
<span style="font-family:'times new roman',serif;font-size:small">Mark</span></div></font><font face="'times new roman', serif"><i>— Il meglio è l’inimico del bene —</i></font><div><font face="'times new roman', serif"><i><br>
</i></font><div><font face="'times new roman', serif"><i><span style="font-style:normal"><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px">[<a href="https://plus.google.com/114199149796022210033" target="_blank">https://plus.google.com/114199149796022210033</a>]</div>
<i></i></span><i></i></i></font></div></div><br>
<br><br><div class="gmail_quote">On Wed, Jan 25, 2012 at 10:59, Gillam, Richard <span dir="ltr"><<a href="mailto:gillam@lab126.com">gillam@lab126.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">> The current 16-bit character strings are sometimes uses to store non-Unicode binary data and can be used with non-Unicode character encoding with up to 16-bit chars.  21 bits is sufficient for Unicode but perhaps is not enough for other useful encodings. 32-bit seems like a plausable unit.<br>

<br>
</div>How would an eight-digit \u escape sequence work from an implementation standpoint?  I'm assuming most implementations right now use 16-bit unsigned values as the individual elements of a String.  If we allow arbitrary 32-bit values to be placed into a String, how would you make that work?  There seem to only be a few options:<br>

<br>
a) Change the implementation to use 32-bit units.<br>
<br>
b) Change the implementation to use either 32-bit units as needed, with some sort of internal flag that specifies the unit size for an individual string.<br>
<br>
c) Encode the 32-bit values somehow as a sequence of 16-bit values.<br>
<br>
If you want to allow full generality, it seems like you'd be stuck with option a or option b.  Is there really enough value in doing this?<br>
<br>
If, on the other hand, the idea is just to make it easier to include non-BMP Unicode characters in strings, you can accomplish this by making a long \u sequence just be shorthand for the equivalent sequence in UTF-16:  \u10ffff would be exactly equivalent to \udbff\udfff.  You don't have to change the internal format of the string, the indexes of individual characters stay the same, etc.<br>

<br>
--Rich Gillam<br>
 Lab126<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</div></div></blockquote></div><br>
</blockquote></div><br></div></body></html>