Schrift
[thread]6709[/thread]

Archive::RAR...: treibt mich in den Wahnsinn! (Seite 3)

Leser: 19


<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten
zipster
 2005-02-23 16:22
#51773 #51773
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
kann es sein das utf-8 nicht das selbe wie Unicode aus dem Notepad ist?
Ich will nämlich folgenden Befehl ausführen
Code: (dl )
system 'rar a -v1000 pre_rar @rarlist.lst';

und das funktioniert nur wenn die Datei "rarlist.lst" im Notepad öffne und als "Unicode" abspeichere. Auch wenn ich keine Ahnung habe was Unicode überhaupt ist.

Wenn ich es so lasse wie es Perl ausgibt funktioniert es leider nicht.

hier mal ein Code auschnitt
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
open RARLIST, ">rarlist.lst" or die $!;
binmode(RARLIST, ":encoding(utf-8)");
foreach (sort keys %{$daten{dateien}})
{
$datei_pfad = "$pfad"."$_";
$datei_pfad =~ tr/\//\\/;
print RARLIST "$datei_pfad"."\n";
}

close RARLIST;
system 'rar a -v1000 pre_rar @rarlist.lst';
\n\n

<!--EDIT|zipster|1109168669-->
ptk
 2005-02-23 17:11
#51774 #51774
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Unicode ist erstmal nur eine Mapping von Zeichen auf eine Zahl. Dort heisst es, dass A den Code 65 hat und EUR den Code 0x20ac. Da man mit Unicode 2**32 Zeichen damit bezeichnen kann, reicht ein Byte zum Speichern dieses Codes nicht mehr aus (bei ASCII oder ISO-8859-1 hat man nur 256 Zeichen). Aus diesem Grund hat man verschiedene Encodings wie utf-8, utf-16, utf-32 etc. entwickelt. Notepad spuckt wahrscheinlich utf-16 aus. Das erkennt man leicht, wenn bei normalem Text jedes zweites Byte ein Nullbyte ist. Wenn sogar immer drei Nullbytes aufeinanderfolgen, dann ist es hoechstwahrscheinlich utf-32 (wobei es dort meist noch little endian und big endian-Varianten gibt).
zipster
 2005-02-23 17:19
#51775 #51775
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Jo bei Notepad gibt es ASCI, Unicode, Unicode Big Endian und UTF-8.

Heißt das ich muss oben nun
Code: (dl )
:encoding(utf-16)

oder
Code: (dl )
:encoding(utf-32)

versuchen?
ptk
 2005-02-23 17:26
#51776 #51776
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ja. Eventuell als Variante utf16-le fuer little endian. Oder du benutzt einfach die utf-8-Einstellung von Notepad.
zipster
 2005-02-23 18:13
#51777 #51777
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
JUCHHHHHHHHHHHHHHUUUUUUUUU

ICH LIEBE DIESES FORUM!!!!!!!!!!!!!!!!!!!!!!!


Also es hat funktioniert!
Code: (dl )
1
2
3
4
open RARLIST, ">rarlist.lst" or die $!;
binmode(RARLIST, ":encoding(utf16-le)");
close RARLIST;
system 'rar a -v1000 pre_rar @rarlist.lst';


VIELEN VIELEN VIELEN DANK an alle die mir hier weitergeholfen haben.

Jetzt hab ich heute den Code verbesser und das RAR Problem gelöst... *Anfangzutanzen*
;)

Jetzt lasse ich es heute Abend nochmal test laufen um zu cheken ob er es schafft die 5GB zu sichern...

Vielen Dank nochmal:p
Strat
 2005-02-24 14:35
#51778 #51778
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
nebenbei: mit welchem Zeichen ein Array mit "@array" zu einem string zusammengeklebt wird, steht in der perl-Variablen $" (standardmaessig ein leerzeichen). Ich finde zwar, dass man die nicht veraendern soll, sondern besser mit join(...) arbeiten, aber zum debuggen ist sowas manchmal echt fein, wenn man z.B. local $" = ";"; oder aehnlich setzt und dann einfach print "@array\n";
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
atze
 2012-10-17 21:56
#162671 #162671
User since
2012-10-17
1 Artikel
BenutzerIn
[default_avatar]
sehr dumme fareg:
wie stellt man hier überhaupt fragen?
Last edited: 2012-10-17 22:02:28 +0200 (CEST)
betterworld
 2012-10-17 22:19
#162672 #162672
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
2012-10-17T19:56:16 atze
sehr dumme fareg:
wie stellt man hier überhaupt fragen?

Klick auf Startseite, such Dir dort ein Forum aus, und klick dann auf "Neuen Thread erstellen" :)
<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten



View all threads created 2005-02-15 18:11.