Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: kapetr 08. 02. 2015, 21:43:57

Název: Java - datový řetězec (?) v kódu a jako argument
Přispěvatel: kapetr 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.
Název: Re:JAVA - datový řetězec (?) v kódu a jako argument
Přispěvatel: Lemming 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ě).
Název: Re:JAVA - datový řetězec (?) v kódu a jako argument
Přispěvatel: Pavel Tišnovský 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?