Überprüfung aller sichtbaren oder unsichtbaren Zeichen einer Textdatei

Überprüfung aller sichtbaren oder unsichtbaren Zeichen einer Textdatei

Gibt es eine Software, mit der man alle sichtbaren und unsichtbaren Zeichen einer Textdatei (Zeichen wie BOM, Richtungsmarkierung, Zeilenvorschub ...) überprüfen kann?

Auch die Anzeige der Unicode-Namen von Zeichen ist eine nützliche Funktion.

Ich möchte eine solche App zum Analysieren von Textdateien verwenden, bevor ich sie mit einer Programmiersprache parse.

Antwort1

Ein guter Hex-Editor ist wahrscheinlich die beste Lösung. Versuchen Sie es mit FrHed (http://frhed.sourceforge.net/en/) wenn Sie Windows oder Bless verwenden (http://home.gna.org/bless/) unter Linux.

Antwort2

DerBabelPadDer Editor ist großartig: Wenn Sie den Cursor hinter ein Zeichen setzen, werden Ihnen die Unicode-Nummer und der Unicode-Name angezeigt. Außerdem verfügt er über einen integrierten Unicode-Informations-Viewer, der viele Unicode-Eigenschaften für Zeichen anzeigt. Leider verarbeitet er BOM, anstatt es anzuzeigen, und interpretiert auch Zeilenumbruchzeichen, anstatt sie anzuzeigen. Es könnte eine Möglichkeit geben, dies zu ändern; die Dokumentation ist ... nun ja, nicht das Beste daran. Aber er zeigt unsichtbare Steuerelemente wie LRM an und kann zwischen einem Leerzeichen und einem geschützten Leerzeichen usw. unterscheiden.

Antwort3

Vielleicht ist das hilfreich, obwohl die Antwort eher zu Stack Overflow passt. Ich habe einen kleinen Parser in Perl erstellt, der das macht, was Sie wollen. Schade, dass es hier keine Hervorhebung gibt.

#!/usr/bin/perl
use strict; use warnings;
use feature qw(say);
use Data::Dumper;
use Unicode::String;
use utf8;

my $line_no = 1;
# Read stuff from the __DATA__ section as if it were a file,
# one line at a time
while (my $line = <DATA>) {
  # Create a Unicode::String object
  my $us = Unicode::String->new($line);

  # Iterate over the length of the string
  for (my $i = 0; $i < $us->length; $i++) {
    # Get the next char
    my $char = $us->substr($i, 1);
    # Output a description, one line per character
    printf "Line %i, column %i, 0x%x '%s' (%s)\n",
      $line_no,         # line number
      $i,               # colum number
      $char->ord,       # the ordinal of the char, in hex
      $char->as_string, # the stringified char (as in the input)
      $char->name;      # the glyph's name
  }
  # increment line number
  $line_no++;
}

# Below is the DATA section, which can be used as a file handle
__DATA__
This is some very strange unicode stuff right here:
٩(-̮̮̃-̃)۶ ٩(●̮̮̃•̃)۶ ٩(͡๏̯͡๏)۶ ٩(-̮̮̃•̃).

Mal sehen, was das bewirkt:

  • Aus einem Datei-Handle (der DATAAbschnitt kann so verwendet werden) Zeile für Zeile lesen.
  • Erstellen Sie ein Objekt, das eine Unicode-Zeichenfolge aus der Zeile darstellt.
  • Iterieren Sie die Zeichen in dieser Zeichenfolge
  • Name, Nummer und Informationen zu jedem Zeichen ausgeben

Es ist wirklich sehr unkompliziert. Vielleicht können Sie es an PHP anpassen, obwohl ich nicht weiß, ob es eine praktische Bibliothek für die Namen gibt.

Ich hoffe es hilft.


Ich habe die Smiley-Dinger hier rausgepickt:Aus welchen Unicode-Zeichen bestehen Smileys wie ٩(•̮̮̃•̃)۶?

Antwort4

Ich würde empfehlenNotizblock++. Wenn Sie unter Ansicht->Symbol anzeigen gehen und „Alle Symbole anzeigen“ auswählen, werden alle unsichtbaren Zeichen mit ihrem Namen angezeigt. Beispielsweise werden Zeilenumbrüche je nach verwendetem Zeilenumbruchformat als LF, CRLF oder CR angezeigt.

verwandte Informationen