Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: kapetr 08. 02. 2015, 21:43:57
-
Zdravím.
Potřeboval bych porozumět rozdílu:
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]);
$ 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.
-
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ě).
-
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?