Ihre Datei enthält nicht die Binärdatei, von der Sie glauben, dass sie sie enthält. ascii2uni
kodiert nicht so, wie Sie es erwarten; Ich bin mir nicht sicher warum.
echo "0x82BE" | ascii2uni -a X > test1 od -tx1 test1 0000000 e8 8a be 0a
(Beachten Sie, dass echo -n
dies dasselbe tut. Der Zeilenumbruch 0a
kommt von ascii2uni
, nicht echo
.)
Umsetzen mit iconv
:
iconv -f SHIFT-JIS -t UTF-8 test1 > test2 od -tx1 test2 0000000 e9 97 83 ef bd be 0a cat test2 闃セ
Was hast du bekommen? (Beachten Sie auch, dass Sie in Ihrem Beispiel für ascii2uni Folgendes hatten 82BE
: Sh in Shift-JIS, anstelle Ihres Originals 0x82ae
, ぐ. Ich bleibe dabei 82BE
.)
Das Problem ist, dass die Binärdatei nicht richtig war. Mach es so:
echo -en '\x82\xbe' > test3 od -tx1 test3 0000000 82 be iconv -f SHIFT-JIS -t UTF-8 test3 > test4 od -tx1 test4 0000000 e3 81 a0 cat test4 だ