Ich habe das folgende Problem: Ich lese von einer UTF-8-Textdatei (und ich erzähle Perl, dass ich das tue durch ": encoding (utf-8)").Entfernen Sie Stückliste von String mit Perl
Die Datei sieht wie folgt in einem Hex-Viewer: EF BB BF 43 6F 6E 66 65 72 65 6E 63 65
Dies führt zu "∩╗┐Conference", wenn gedruckt. Ich verstehe den "weiten Charakter", vor dem ich gewarnt bin, ist die Stückliste. Ich will es loswerden (nicht wegen der Warnung, sondern weil es einen String-Vergleich vermasselt, den ich später unternehme).
Also versuchte ich es mit dem folgenden Code zu entfernen, aber ich kläglich:
$ line = ~ s/^ \ xEF \ xBB \ xBF //;
Kann mir jemand erklären, wie ich die UTF-8-Stückliste aus einer Zeichenfolge entfernen kann, die ich durch Lesen der ersten Zeile der UTF-8-Datei erhalten habe?
Danke!
Solange Sie die Ausgabecodierung haben richtig eingestellt sollte es nicht nötig sein, um die BOM zu entfernen, da eine Null-Breite Raum haben keine Auswirkung auf das Ergebnis – Borodin