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
DATA
Abschnitt 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.