On Tue, 2015-01-20 at 21:35 +0100, Sven Van Caekenberghe wrote:
> Hi Eliot,
> 
> > On 20 Jan 2015, at 20:38, Eliot Miranda <[email protected]> wrote:
> > 
> > 
> > 
> > On Tue, Jan 20, 2015 at 8:00 AM, Sven Van Caekenberghe <[email protected]> wrote:
> > Command line arguments enter the image level via 
> > VirtualMachine>>#getSystemAttribute:
> > 
> > At that point they are already Strings.
> > 
> > ByteString, according to the primitive.  So if the shell supplies e.g. 
> > UTF-8 strings for command-line parameters, which the VM sees as bytes, then 
> > the ByteString instances answered by getSystemAttribute: would need 
> > decoding, right?
> >  
> > In your case, they must already be wrong at that point.
> > 
> > Not necessarily.  The  getSystemAttribute: primitive doesn't do decoding.  
> > Perhaps it should.
> 
> Yes, probably. I just tried on Mac OS X, Pharo 4:
> 
> $ export FOO=élève-Français
> 
> $ echo $FOO
> élève-Français
> 
> $ ./pharo Pharo.image eval 'OSPlatform current environment at: #FOO'
> 'élève-Français'
> 
> $ ./pharo Pharo.image eval '(OSPlatform current environment at: #FOO) 
> asByteArray utf8Decoded'
> 'élève-Français'
> 
> The question is, is this true for all platforms ? Windows ?

Certainly not :-) On UNIX systems the encoding is undefined AFAIK. 
You may want to consult locale before deciding on encoding - 
this works quite well. nl_langinfo() is the guy to ask.

Best, Jan

> 
> > > On 20 Jan 2015, at 16:51, Hilaire <[email protected]> wrote:
> > >
> > > Le 20/01/2015 16:34, Sven Van Caekenberghe a écrit :
> > >> No they are not - Strings and Characters in Pharo are using plain 
> > >> Unicode encoding internally.
> > >
> > > Thanks for the update, and the reference link.
> > >
> > > Hilaire
> > >
> > > --
> > > Dr. Geo - http://drgeo.eu
> > > iStoa - http://istoa.drgeo.eu
> > >
> > >
> > 
> > 
> > 
> > 
> > 
> > -- 
> > best,
> > Eliot
> 
> 
> 



Reply via email to