Java - datový řetězec (?) v kódu a jako argument

Java - datový řetězec (?) v kódu a jako argument
« kdy: 08. 02. 2015, 21:43:57 »
Zdravím.
Potřeboval bych porozumět rozdílu:
Kód: [Vybrat]
System.out.println("Direct: " + "\273\142\313\104\326\143\226\202\247\246\231\324\031\300\062\137\314");
System.out.println("args[0] :" + args[0]);
Kód: [Vybrat]
$ java test "\273\142\313\104\326\143\226\202\247\246\231\324\ 031\300\062\137\314"

Direct: »bËDÖc–‚§¦™ÔÀ2_Ì
args[0] :\273\142\313\104\326\143\226\202\247\246\231\324\ 031\300\062\137\314

Zkoušel jsem předávat argument i v apostrofech, zdvojovat, ztrojovat backslash, ... nic.
Nikdy jsem nedostal to, jako když je řetězec přímo v kódu - to potřebuji.

Také by mě zajímalo, co a v jakém kódování ty trojice "\xyz" reprezentují.
Myslel jsem, že unicode znaky, ale to myslím nesouhlasí - ani v 8 ani v 10 bázi.
Spíž jde asi o způsob zadání "binárních" dat ?

Neví někdo ? Dík.
« Poslední změna: 09. 02. 2015, 08:22:05 od Petr Krčmář »


Lemming

Re:JAVA - datový řetězec (?) v kódu a jako argument
« Odpověď #1 kdy: 08. 02. 2015, 21:55:34 »
Ty backslashe v přímém řetězci interpretuje kompilátor, ne tisk. jestli se dá nějak dosáhnout toho, aby se interpretovali při zadání uživatelem netuším (krom toho si je parsovat a interpretovat sám, samozřejmě).

Pavel Tišnovský

Re:JAVA - datový řetězec (?) v kódu a jako argument
« Odpověď #2 kdy: 08. 02. 2015, 22:05:15 »
První část dotazu: http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.6
Neboli jsou to ASCII hodnoty v osmičkové soustavě, stejně jako ve starém dobrém Céčku

Druhá část dotazu: jak je nastavené LOCALE?