From: Juergen Strobel Date: 2006-06-23T00:32:18+09:00 Subject: Re: Unicode roadmap? --nFreZHaLTZJo0R7j Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Jun 21, 2006 at 01:04:55AM +0900, Tim Bray wrote: > On Jun 20, 2006, at 6:54 AM, Timothy Bennett wrote: >=20 > >Having different encodings on one web page is a good way to make =20 > >sure that > >the page won't display correctly > ... > > So, no, I don't think it should > >be valid to concatenate strings with different encodings. >=20 > Well, unless you had a String class that took care of the encoding =20 > details and, when you were ready to output, allowed you to say "Give =20 > me that in ISO-8859 or UTF-8 or whatever". -Tim That's what I suggested basically. The problem seems to be non-Unicode demands mainly, and performance issues on the other hand. And it makes Strings useless as byte buffers, since you have to specifiy the encoding of the external representation you create the String from at creation time. To recap: Private extensions to Unicode are deemed too complex to implement (Matz).=20 Transforming legacy or special (non Unicode) data to a ruby-private internal storage format on I/O is too performance/space intensive (Matz). Strings as byte buffers are important to some people, and they don't want to use another class or array for it, even if RegExp et al would be extended to handle these too. While it would be proper OO design, encapsulating the internal String implementation hampers direct access to the "raw" data for C-hackers, creating unwanted hurdles, and again performance issues.=20 I am still not convinced the arguments against this approach really will hold in the long run, but since I am not the one implementing it and can't really participate there due to language barriers, I can only lean back and wait for the first realease of M17N. Learning English was hard enough for me. -J=FCrgen --=20 The box said it requires Windows 95 or better so I installed Linux --nFreZHaLTZJo0R7j Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iQEVAwUBRJq3/Py64gyiEfXtAQI8iQgAhFJaxgOAGJUplnuiMi0PswBcprnlBjkY ugZ64EVzFL9XDibyhFjr9YmEsLbPTF8jw8uF8Mk78zyWFkj176rW7auKz7zah8Wz juGBWJpS0wCamW20LAbdl0FQl9mxDYntmcqPfdAq84fXkzKqVSWG7dpkc9kihG2c vrLS5RRLGxBaUkhnvSEZiDKklj6akB7OSC1e/81b8s8gaDyCCG1RIT6+LP9ZhWC0 FMJ0jmz5AaU/+j93yC36YfjLM8v/BFVtC+DkcbVxiNlCl50Gi4fZimGnRVgu4i0V COZhWM5/HtVEvRQj3+pKLIgi9frTnJyOovfnE56s25ssAjhkK8+ldA== =+kz6 -----END PGP SIGNATURE----- --nFreZHaLTZJo0R7j--