Fórum Root.cz
Ostatní => Odkladiště => Téma založeno: darebacik 13. 10. 2023, 11:36:10
-
V linux mint pouzijem nejaky prikaz ktoreho vystup je 4-miestne hex-dec cisla oddelene ciarkami. Ako je vidiet, tak v prvom stvorcisli je na konci A v druhom B atd ... potom nasleduje v piatom 1, v siestom 2 atd.
030A,030B,030C,030D,0301,0302,0303,0304
Ak presne ten isty prikaz pouzijem v debiane (12), tak dostanem tie iste stvorcislia, ale je to obratene, naskor su na stvrtom mieste cisla 1,2 atd .. a pismena A,B,C su az potom.
0301,0302,0303,0304,030A,030B,030C,030D
Moze to byt sposobene tym, ze linux mint mam v slovencine a debian v anglictine ?
sk_SK.UTF-8
en_US.UTF-8
-
Daj pred príkaz LANG=C a čo robí potom?
-
To opravdu myslíte tu otázku vážně? Jak k tomu můžeme něco odpovědět, když jste nenapsal, o jaký příkaz se jedná, takže nemůžeme tušit, co ta data znamenají?
-
Takze zahada vyriesena.
Prepol som v Linux mint lokalizaciu na
export LANG=en_US.UTF-8
$ echo $LANG
en_US.UTF-8
Slo mi len o to, ci to moze byt sposobene v rozdielnych lokalizaciach en_US.UTF-8 a sk_SK.UTF-8 (v podstate mi je jedno ako to sortuje, dolezite je aby tam bolo vsetko). Tych hexadec. retazcov mam viac (ako priklad som tu pouzil 8 ).
-
No, radšej sa nespoliehaj na nastavenie systému, ak nemusíš.
Ak zoraďuješ cez sort, tak si pozri parametre a špecifikuj typ zoradenia.
-
Vy jste ovšem nepsal nic o tom, že se tam něco řadí. Řazení samozřejmě závisí na locale – pravidla pro řazení v češtině jsou jiná, než pravidla pro řazení v angličtině. Např. pro to, že „č“ chceme v češtině řadit hned za „c“, tedy ještě před „d“, zatímco v angličtině je „č“ nějaký divný znak, který se bude řadit až na konec spolu s ostatním smetím.
-
Na tuto otázku Ti může dát spolehlivou odpověď pouze autor dané aplikace (respektive zdrojové kódy).
-
Já za tebe ten příklad vymyslím. Narazil jsem totiž na stejný bordel v hexdump moc jsem se divil, proč mi nesouhlasí srovnání části binárních dat. Mohl
echo 012345678 | hexdump -C
00000000 30 31 32 33 34 35 36 37 38 0a |012345678.|
echo 012345678 | hexdump
0000000 3130 3332 3534 3736 0a38
echo 012345678 | xxd
00000000: 3031 3233 3435 3637 380a 012345678.
xxd -e
00000000: 33323130 37363534 0a38 012345678.
echo 012345678 | xxd -eps | xxd -r -ps
32107654
echo 012345678 | od -x -An
3130 3332 3534 3736 0a38
echo 012345678 | od -hAn
3130 3332 3534 3736 0a38
největší prasárna je xxd -e a hexdump bez -C (člověk chce jenpřidat ASCII view, ale ono to zobrazuje byty správně), sice vpravo ukazuje správně 01234.., ale dump je prohozeny
PS:endian vím co znamená, jen prostě je to matoucí defaultní chování bez argumentů a pak přidání -C náhle změní i order. Samozřejmě v nápovědě vše je popsané.
Další věc je, že matně si vzpomínám, že na různých PC bych dostal různé výsledky (s defaultními argumenty) = nepřenositelnost