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 > > >
