Seraphyn Thinkpad GotTTY

Konvertieren von UTF-16 zu UTF-8

seraphyn@takeshi: ~ $ less netzwerkoperationen.txt
"netzwerkoperationen.txt" may be a binary file.  See it anyway?

seraphyn@takeshi: ~ $ file netzwerkoperationen.txt
netzwerkoperationen.txt: Little-endian UTF-16 Unicode text, with CRLF line terminators

So kann es geschehen. Natürlich ist es vim und cat absolut Egal was sie dort einlesen und zeigen den Text auch korrekt an.
Aber wenn ich genau dieses File nun Jemand sende, mit vielleicht einem nicht so schicken Betriebssystem wie meines, dann kann es zu noch mehr Problemen kommen. Man kennt diese Anrufe 1

Des Rätsels Lösung ist iconv (den OpenGrouplink verschweigen wir dazu auch nicht):

iconv -f utf-16 -t utf-8 netzwerkoperationen.txt > netzwerkoperationenUTF8.txt

Und schon klappt es mit less und dem Menschen mit einem nicht so schicken Betriebssystem.
Man könnte nun auch /usr/bin/lesspipe so patchen, dass es doch freundlicher Weise recode nutzt und UTF-16 oder UTF-32 in UTF-8 umwandelt. Wäre ein netter Patch für Debian Wheezy. Wer daran Interesse hat, findet ab Zeile 78 in /usr/bin/lesspipe den Abschnitt in welchen der Patchpart gehört.

Natürlich funktioniert die oben genannte Umwandlung auch mit anderen textbasierten Dateien, wie z.B. SVG



Fussnoten:
  1. Gott, ich meine ich möchte mich nun nicht zu stark beschweren ツ  []

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>