RE: [PHP-DEV] Re: strlen() under unicode.semantics
| From: | Andi Gutmans | Date: | Fri, 23 Jun 2006 06:30:50 +0000 |
| Subject: | RE: [PHP-DEV] Re: strlen() under unicode.semantics | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-24190@lists.php.net to get a copy of this message | ||
I don't quite agree. I think there's a good chance people will want to save
Unicode strings in a binary format for performance reasons. Save it the way
it looks in memory, and put it back... Why convert to UTF-8 or any other
encoding if it's just about storage?
Andi
> -----Original Message-----
> From: Sara Golemon [mailto:pollita@php.net]
> Sent: Thursday, June 22, 2006 9:15 PM
> To: "Ron Korving"
> Cc: internals@lists.php.net
> Subject: Re: [PHP-DEV] Re: strlen() under unicode.semantics
>
> > Still, it's gotta be useful to be know how many bytes it occupies.
> > Perhaps for Content-length headers or something. There are
> plenty of
> > low level concepts to think of where one might need this.
> And even if
> > you can't think of any reason now, you don't wanna get hit
> in the face
> > by it and have to implement such a function for PHP 6.0.1.
> >
> For this type of usage, I'd think it'd be relevant to know
> how many bytes the string will occupy in a given output
> encoding moreso that what it happens to occupy in the
> underlying implementation. In the example you cited, string
> contents will more typically be sent as utf8 rather than the
> utf16 of php's internal encoding.
>
> $utf8str = unicode_encode($unistr, 'utf8');
>
> header('Content-type: text/html; encoding="utf8"');
> header('Content-length: ' . strlen($utf8str)); echo $utf8str;
>
> I'm not saying it's impossible that a legitimate use will
> come up to know the internal byte-usage of a unicode string,
> there's certainly no harm in adding such a function (apart
> from the tired shot-foot argument). I just doubt you (or
> anyone) will come up such a case anytime soon.
>
> -Sara
>
> --
> PHP Internals - PHP Runtime Development Mailing List To
> unsubscribe, visit: http://www.php.net/unsub.php
>