EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

enc2xs – Online in der Cloud

Führen Sie enc2xs im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl enc2xs, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


enc2xs – Perl Encode Module Generator

ZUSAMMENFASSUNG


enc2xs -[Optionen]
enc2xs -M ModName Mapfiles...
enc2xs -C

BESCHREIBUNG


enc2xs Erstellt eine Perl-Erweiterung zur Verwendung durch Encode aus einer der beiden Unicode-Zeichenzuordnungen
Dateien (.ucm) oder Tcl-Kodierungsdateien (.enc). Außer der internen Verwendung während des Builds
Prozess des Encode-Moduls, den Sie verwenden können enc2xs um Ihre eigene Codierung zu Perl hinzuzufügen. NEIN
XS-Kenntnisse sind erforderlich.

Direkt Guide


Wenn Sie so wenig wie möglich über Perl wissen möchten, aber eine neue Kodierung hinzufügen müssen, dann einfach
Lesen Sie dieses Kapitel und vergessen Sie den Rest.

0. Halten Sie eine .ucm-Datei bereit. Sie können es irgendwo bekommen oder Ihr eigenes schreiben
entweder von Grund auf neu erstellen oder sich eines aus der Encode-Distribution holen und es anpassen. Für die
UCM-Format finden Sie im nächsten Kapitel. Im folgenden Beispiel nenne ich meine Theorie
Kodierung von Myascii, definiert in mein.ucm. „$“ ist eine Shell-Eingabeaufforderung.

$ ls -F
mein.ucm

1. Geben Sie einen Befehl wie folgt aus;

$ enc2xs -M Mein my.ucm
Generieren von Makefile.PL
Generieren von My.pm
Generieren einer README-Datei
Generieren von Veränderungen

Schauen Sie sich nun Ihr aktuelles Verzeichnis an. Es sollte so aussehen.

$ ls -F
Makefile.PL My.pm my.ucm t/

Die folgenden Dateien wurden erstellt.

Makefile.PL – MakeMaker-Skript
My.pm – Submodul kodieren
t/My.t – Testdatei

1.1
Wenn Sie *.ucm zusammen mit den Modulen installieren möchten, gehen Sie wie folgt vor:

$ mkdir Encode
$ mv *.ucm Kodieren
$ enc2xs -M Mein Encode/*ucm

2. Bearbeiten Sie die generierten Dateien. Sie müssen es nicht tun, wenn Sie keine Zeit UND keine Absicht dazu haben
gib es jemand anderem. Es ist jedoch eine gute Idee, den Pod zu bearbeiten und weitere Tests hinzuzufügen.

3. Geben Sie nun einen Befehl ein, den alle Perl-Händler lieben:

$ perl Makefile.PL
Makefile für Encode::My schreiben

4. Jetzt müssen Sie nur noch vorbereiten.

$ make
cp My.pm blib/lib/Encode/My.pm
/usr/local/bin/perl /usr/local/bin/enc2xs -Q -O \
-o encode_t.c -f encode_t.fnm
Lesen von Myascii (Myascii)
Kompiliertes Formular schreiben
128 Bytes in String-Tabellen
384 Byte (75 %) wurden beim Erkennen von Duplikaten eingespart
1 Byte (0.775 %) durch Teilzeichenfolgen eingespart
....
chmod 644 blib/arch/auto/Encode/My/My.bs
$

Die benötigte Zeit hängt davon ab, wie schnell Ihre Maschine ist und wie groß Ihre Maschine ist
Kodierung ist. Sofern Sie nicht gerade an etwas Großem wie euc-tw arbeiten, wird es auch nicht dauern
lang.

5. Sie können die Installation bereits durchführen, sollten dies jedoch zunächst testen.

$ test machen
PERL_DL_NONLAZY=1 /usr/local/bin/perl -Iblib/arch -Iblib/lib \
-e 'use Test::Harness qw(&runtests $verbose); \
$verbose=0; runtests @ARGV;' t/*.t
t/Mein....ok
Alle Tests erfolgreich.
Dateien=1, Tests=2, 0 Sekunden
( 0.09 cusr + 0.01 csys = 0.09 CPU)

6. Wenn Sie mit dem Testergebnis zufrieden sind, klicken Sie einfach auf „make install“.

7. Wenn Sie Ihre Codierung zur Demand-Loading-Liste von Encode hinzufügen möchten (damit Sie dies nicht tun müssen).
„use Encode::YourEncoding“), ausführen

enc2xs -C

um Encode::ConfigLocal zu aktualisieren, ein Modul, das lokale Einstellungen steuert. Danach,
„Verwenden Sie Encode;“ reicht aus, um Ihre Kodierungen bei Bedarf zu laden.

Das Unicode Charakter Karte


Encode verwendet das Unicode Character Map (UCM)-Format für Quellzeichenzuordnungen. Das
Das Format wird vom ICU-Paket von IBM verwendet und von Nick Ing-Simmons zur Verwendung mit übernommen
Kodierungsmodul. Da UCM flexibler als Tcls Encoding Map und weitaus benutzerfreundlicher ist
freundlich, dies ist jetzt das empfohlene Format für Encode.

Eine UCM-Datei sieht so aus.

#
# Kommentare
#
„US-ascii“ # Erforderlich
"ascii" # Optional
1 # Erforderlich; normalerweise 1
1 # Max. Anzahl Bytes/Zeichen
\x3F # Ersatzzeichen
#
CHARMAP
\x0000 |00 #
\x0001 |01 #
\x0002 |02 #
....
\x007C |7 # VERTIKALE LINIE
\x007D |7 # RECHTE GESUNDE KLAMMER
\x007E |7 # TILDE
\x007F |7 #
ENDE CHARMAP

· Alles, was auf „#“ folgt, wird als Kommentar behandelt.

· Der Kopfabschnitt wird fortgesetzt, bis eine Zeile das Wort CHARMAP enthält. Diese Abteilung
hat eine Form von Wert, ein Paar pro Zeile. Als Werte verwendete Zeichenfolgen müssen sein
zitiert. Barewords werden als Zahlen behandelt. \xXX stellt ein Byte dar.

Die meisten Schlüsselwörter sind selbsterklärend. Unterzeichen bedeutet Ersatzzeichen, nicht
Unterzeichen. Wenn Sie eine Unicode-Sequenz in diese Codierung dekodieren, aber keine Übereinstimmung findet
Wird ein Zeichen gefunden, wird die hier definierte Bytefolge verwendet. In den meisten Fällen ist die
Wert hier ist \x3F; In ASCII ist dies ein Fragezeichen.

· CHARMAP startet den Zeichentabellenabschnitt. Jede Zeile hat die folgende Form:

\xXX.. |0 # Kommentar
^ ^ ^
| | +- Fallback-Flag
| +-------- Kodierte Bytefolge
+-------------- Unicode-Zeichen-ID in Hexadezimalform

Das Format entspricht in etwa dem eines Header-Abschnitts, mit Ausnahme des Fallback-Flags: |
gefolgt von 0..3. Die möglichen Werte haben folgende Bedeutung:

|0 Hin- und Rückfahrt sicher. Ein in Unicode dekodiertes Zeichen wird in dasselbe Byte zurückkodiert
Reihenfolge. Die meisten Charaktere haben diese Flagge.

|1 Fallback für Unicode -> Kodierung. Wenn es angezeigt wird, fügt enc2xs dieses Zeichen für das hinzu
Nur Karte kodieren.

|2 Unterzeichenzuordnung überspringen, wenn kein Codepunkt vorhanden ist.

|3 Fallback für Kodierung -> Unicode. Wenn es angezeigt wird, fügt enc2xs dieses Zeichen für das hinzu
Nur Karte dekodieren.

· Und schließlich beendet END OF CHARMAP den Abschnitt.

Wenn Sie eine UCM-Datei manuell erstellen, sollten Sie ascii.ucm oder eine vorhandene Datei kopieren
Codierung, die Ihrer ähnelt, anstatt Ihre eigene von Grund auf zu schreiben.

Wenn Sie dies tun, stellen Sie sicher, dass Sie zumindest gehen U0000 zu U0020 so wie es ist, es sei denn, Ihre Umgebung
ist EBCDIC.

VORBEHALT: Nicht alle Funktionen in UCM sind implementiert. Beispielsweise wird icu:state nicht verwendet.
Aus diesem Grund müssen Sie ein Perl-Modul schreiben, wenn Sie algorithmische Funktionen unterstützen möchten
Kodierungen, insbesondere die ISO-2022-Serie. Zu diesen Modulen gehören Encode::JP::2022_JP,
Encode::KR::2022_KR und Encode::TW::HZ.

Bewältigung mit Duplikat Zuordnungen
Wenn Sie eine Karte erstellen, SOLLTEN Sie Ihre Zuordnungen rundum sicher machen. Das ist,
„encode('your-encoding', decode('your-encoding', $data)) eq $data“ steht für alle
Zeichen, die als „|0“ gekennzeichnet sind. So stellen Sie sicher:

· Sortieren Sie Ihre Karte in Unicode-Reihenfolge.

· Wenn Sie einen doppelten Eintrag haben, markieren Sie einen mit „|1“ oder „|3“.

· Und stellen Sie sicher, dass der Eintrag „|1“ oder „|3“ dem Eintrag „|0“ folgt.

Hier ist ein Beispiel von big5-eten.

\xF2550\xF9 |9
\xA2550\xA2 |4

Interne Kodierung -> Unicode und Unicode -> Kodierungszuordnung sieht folgendermaßen aus;

E nach UU nach E
--------------------------------------
\xF9\xF9 => U2550 U2550 => \xF9\xF9
\xA2\xA4 => U2550

Daher ist es für \xF9\xF9 rundum sicher. Aber wenn die obige Zeile auf dem Kopf steht, hier ist was
das passiert.

E nach UU nach E
--------------------------------------
\xA2\xA4 => U2550 U2550 => \xF9\xF9
(\xF9\xF9 => U2550 wird jetzt überschrieben!)

Das Encode-Paket ist im Lieferumfang enthalten ucmlint, ein grobes, aber ausreichendes Dienstprogramm, um das zu überprüfen
Integrität einer UCM-Datei. Überprüfen Sie dies im Verzeichnis Encode/bin.

Im Zweifelsfall können Sie verwenden ucmsort, ein weiteres Dienstprogramm im Verzeichnis Encode/bin.

Lesezeichen


· Homepage der Intensivstationhttp://www.icu-project.org/>

· Zeichenzuordnungstabellen für die Intensivstationhttp://site.icu-project.org/charts/charset>

· ICU:Konvertierungsdatenhttp://www.icu-project.org/userguide/conversion-data.html>

Nutzen Sie enc2xs online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad