nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Zeichenkette in einzelne Zeichen zerlegen

Von: Gregor Goldbach (goldbach@dfn-cert.de) [Profil]
Datum: 12.10.2009 16:42
Message-ID: <7jgtinF34akqfU1@mid.dfncis.de>
Newsgroup: de.comp.lang.perl.misc
Guten Tag liebe Gruppe,

ich habe ein Problem, das vermutlich mal wieder mit Encoding
zusammenhängt. Ausgangslage ist mein Wunsch, eine Zeichenkette in
einzelne Zeichen zu zerlegen. Das mache ich wie folgt:

#!/usr/bin/perl

use strict;
use warnings;

my $string='!"§$%';

print "$_\n" for split(//,  $string);
print '-' x 10,"\n";
print "$1\n" while $string =~ /(.)/g;

Putzigerweise wird das Paragraphenzeichen in zwei einzelne Zeichen
zerlegt. Dies ist die Ausgabe:

!
"
�
�
$
%
----------
!
"
�
�
$
%

Die lustigen Zeichen da oben sind C2 und A7.

Gesehen habe ich dieses Verhalten unter 5.8.8. Mich beschleicht das
Gefühl, dass da irgendwo ein Encoding den Bach runter geht. Aber wo? Und
warum? :-)

Wenn ich in obigem Programm das Pragma utf8 verwende, dann wird das
Paragraphenzeichen nur noch als ein Zeichen ausgegeben, jedoch auch
falsch: A7. Im Programm selbst ist das Paragraphenzeichen als C2A7
codiert (sagt mir zumindest 'od', wenn ich den Quelltext damit ausgebe).

Wo zwischen diesen schlichten Zeilen liegt der Fehler? Und: Wie kommt
man denn nun an einzelne Zeichen einer Zeichenkette heran? Geht das mit
pack und 'U'?

Vielen Dank für die Erleuchtung,
Gregor

--
Dipl.-Inform. Gregor Goldbach (PKI Team)
Phone: +49 40 808077-621 Fax: +49 40 808077-556 Mail:goldbach@dfn-cert.de

DFN-CERT Services GmbH, https://www.dfn-cert.de, Phone  +49 40 808077-555
Sitz / Register: Hamburg, AG Hamburg, HRB 88805, Ust-IdNr.:  DE 232129737
Sachsenstraße 5,  20097 Hamburg/Germany, CEO: Dr. Klaus-Peter Kossakowski

DFN-PKI
https://www.pki.dfn.de/

[ Auf dieses Posting antworten ]

Antworten