use Encode; my $char = pack "U*", 0xD83D, 0xDE00; # diese beiden Codepoints # und die zum Zeichen gehörige Bytesequenz ED A0 BD ED B8 80 printf "%X %X %X %X %X %X\n", unpack "C*", encode_utf8($char); # und jetzt umgekehrt, wir haben eine Bytesequenz und wollen die # WTF Codepoints my $bin = pack "C*", 0xED, 0xA0, 0xBD, 0xED, 0xB8, 0x80; my $zeichen = decode_utf8($bin); # intern kodiert my @codepoints = unpack "U*", $zeichen; foreach my $cp( @codepoints ){ printf "%X ", $cp; }