Thread Text-Datei von Unicode nach Ansi/Ascii wandeln (3 answers)
Opened by gstueb at 2009-08-24 15:37

gstueb
 2009-08-24 15:37
#124653 #124653
User since
2009-04-16
4 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich bekomme hier regelmäßig eine Textdatei im UTF16 Format (Little Endian), bei der die einzelnen Werte durch einen Tabulator getrennt sind.

Diese Datei möchte ich Umwandeln, so dass ich eine ASCII bzw. ANSI Datei erhalte, bei der die Felder durch ein Semikolon getrennt sind.

Nachdem was ich so gelesen habe, müsste die Konvertierung doch mit dem PerlIO layer funktionieren. Zum testen der Unicode-Umwandlung (erstmal nach UTF8) habe ich deshalb mal folgenden Code erstellt:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use warnings;
use lib 'S:\FCMS\Barcode'; # Hier liegt das heruntergeladene Modul PerlIO.pm
# use Perlio, 'UTF16';
# use Perlio::'UTF16';
use PerlIO;

sub konvertfile {

my $in = $_[0];
my $out = $_[1];

open INFILE, "<:UTF16", "$in", or die "$in: $!";
open OUTFILE, ">:UTF8", "$out";

while (<INFILE>)
{
$zeile = $_;
print OUTFILE $zeile, "\n"
}

close INFILE;
close OUTFILE;

}


Ich erhalte bei der Ausführung aber einen
>>Unknown PerlIO layer "UTF16" at konvert.pl<<

Kann mir jemand ein paar Tipps geben? Wie binde ich das PerlIO Modul richtig ein? Ist die Herangehensweise zur Umwandlung von UTF16 nach UTF8 so richtig?

Wir haben hier Perl v5.8.3 im Einsatz.

Danke & Gruß,
Gregor

View full thread Text-Datei von Unicode nach Ansi/Ascii wandeln