hotti: Change Encoding (Bitte u Code Reveiw)

Beitrag lesen

hi,

Ich lasse mit guess() raten, welches Encoding voriegt. Ist es bereits im

Das ist prinzipiell gut, denn wenn eine Datei zweimal umcodiert wird, gibt das einen GAU für den DAU ;-)

Zum Feststellen, ob alle Zeichen einer Datei UTF-8-codiert sind, würde ich so vorgehen:

  • Eine Liste der Codepoints erstellen
      @codepoints = unpack("U*", $file_as_string);

  • Diese Liste durchgehen und die Codepoints wieder in UTF-8-Chars verwandeln
      foreach my $cp(@codepoints){
         $chr = printf("%s", pack("U", $cp)); # nicht $c!!!
         $test_string .= $chr;
      }

  • Vergleiche $test_string mit $file_as_string, wenn beide gleich, sind alle Zeichen in der Datei utf8-codiert. Ansonsten nicht.

Morgen wird getestet ;-)
Gute Nacht,
   Hotti