InglesPransesEspanyol

Ad


OnWorks favicon

enc2xs - Online sa Cloud

Patakbuhin ang mga enc2x sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command na enc2xs na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


enc2xs -- Perl Encode Module Generator

SINOPSIS


enc2xs -[mga opsyon]
enc2xs -M ModName mapfiles...
enc2xs -C

DESCRIPTION


enc2xs bubuo ng Perl extension para magamit ng Encode mula sa alinman sa Unicode Character Mapping
mga file (.ucm) o Tcl Encoding Files (.enc). Bukod sa ginagamit sa loob sa panahon ng pagtatayo
proseso ng Encode module, maaari mong gamitin enc2xs upang idagdag ang iyong sariling pag-encode sa perl. Hindi
kaalaman sa XS ay kailangan.

Mabilis patnubayan


Kung gusto mong malaman ang kaunti tungkol sa Perl hangga't maaari ngunit kailangan mong magdagdag ng bagong encoding, lang
basahin ang kabanatang ito at kalimutan ang natitira.

0. Maghanda ng .ucm file. Maaari mo itong makuha mula sa kung saan o maaari kang sumulat ng iyong sarili mula sa
scratch o maaari kang kumuha ng isa mula sa pamamahagi ng Encode at i-customize ito. Para sa
UCM format, tingnan ang susunod na Kabanata. Sa halimbawa sa ibaba, tatawagin ko ang aking teoretikal
encoding myascii, tinukoy sa my.ucm. Ang "$" ay isang shell prompt.

$ ls -F
my.ucm

1. Mag-isyu ng utos tulad ng sumusunod;

$ enc2xs -M Aking my.ucm
pagbuo ng Makefile.PL
pagbuo ng My.pm
pagbuo ng README
pagbuo ng mga Pagbabago

Ngayon tingnan ang iyong kasalukuyang direktoryo. Dapat ganito ang hitsura.

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

Ang mga sumusunod na file ay nilikha.

Makefile.PL - MakeMaker script
My.pm - I-encode ang submodule
t/My.t - test file

1.1.
Kung gusto mong naka-install ang *.ucm kasama ng mga module, gawin ang mga sumusunod;

$ mkdir Encode
$ mv *.ucm Encode
$ enc2xs -M Aking Encode/*ucm

2. I-edit ang mga file na nabuo. Hindi mo kailangan kung wala kang oras AT walang intensyon
ibigay mo sa iba. Ngunit magandang ideya na i-edit ang pod at magdagdag ng higit pang mga pagsubok.

3. Ngayon ay maglabas ng utos na gusto ng lahat ng Perl Monger:

$ perl Makefile.PL
Pagsusulat ng Makefile para sa Encode::My

4. Ngayon ang kailangan mo lang gawin ay gumawa.

$ gumawa
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
Pagbabasa ng myascii (myascii)
Pagsulat ng pinagsama-samang form
128 bytes sa mga string table
384 byte (75%) ang nag-save ng mga spotting duplicate
1 byte (0.775%) ang na-save gamit ang mga substring
....
chmod 644 blib/arch/auto/Encode/My/My.bs
$

Ang oras na kinakailangan ay nag-iiba depende sa kung gaano kabilis ang iyong makina at kung gaano kalaki ang iyong makina
ang pag-encode ay. Maliban kung gumagawa ka ng isang bagay na malaki tulad ng euc-tw, hindi rin ito aabutin
ang haba.

5. Maaari ka nang "magsagawa ng pag-install" ngunit dapat mo munang subukan.

$ gumawa ng pagsubok
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/My....ok
Lahat ng pagsubok ay matagumpay.
Files=1, Tests=2, 0 wallclock seg
( 0.09 cusr + 0.01 csys = 0.09 CPU)

6. Kung kontento ka na sa resulta ng pagsubok, "make install" lang

7. Kung gusto mong idagdag ang iyong pag-encode sa listahan ng demand-loading ng Encode (para hindi mo na kailangang
"use Encode::YourEncoding"), tumakbo

enc2xs -C

para i-update ang Encode::ConfigLocal, isang module na kumokontrol sa mga lokal na setting. Pagkatapos,
"gamitin ang Encode;" ay sapat na upang i-load ang iyong mga pag-encode kapag hinihiling.

Ang Unicode Katangian mapa


Ginagamit ng Encode ang Unicode Character Map (UCM) na format para sa mga source na character mapping. Ito
format ay ginagamit ng IBM's ICU package at pinagtibay ni Nick Ing-Simmons para gamitin sa
I-encode ang module. Dahil ang UCM ay mas nababaluktot kaysa sa Encoding Map ng Tcl at mas maraming gumagamit-
friendly, ito ang inirerekomendang format para sa Encode ngayon.

Ang isang UCM file ay ganito ang hitsura.

#
# Mga komento
#
"US-ascii" # Kinakailangan
"ascii" # Opsyonal
1 # Kinakailangan; kadalasan 1
1 # Max. # ng bytes/char
\x3F # Pagpapalit na char
#
CHARMAP
\x0000 |00 #
\x0001 |01 #
\x0002 |02 #
....
\x007C |7 # VERTICAL LINE
\x007D |7 # RIGHT CURLY BRACKET
\x007E |7 # TILDE
\x007F |7 #
END CHARMAP

· Anumang bagay na sumusunod sa "#" ay itinuturing bilang isang komento.

· Ang seksyon ng header ay nagpapatuloy hanggang sa isang linya na naglalaman ng salitang CHARMAP. Ang seksyon na ito
ay may anyo ng halaga, isang pares bawat linya. Ang mga string na ginamit bilang mga halaga ay dapat na
sinipi. Ang mga bareword ay itinuturing bilang mga numero. \xXX kumakatawan sa isang byte.

Karamihan sa mga keyword ay maliwanag. subchar nangangahulugan ng pagpapalit ng karakter, hindi
subcharacter. Kapag nag-decode ka ng Unicode sequence sa encoding na ito ngunit walang tugma
character ay natagpuan, ang byte sequence na tinukoy dito ay gagamitin. Para sa karamihan ng mga kaso, ang
ang halaga dito ay \x3F; sa ASCII, ito ay isang tandang pananong.

· Sinisimulan ng CHARMAP ang seksyon ng character map. Ang bawat linya ay may anyo tulad ng sumusunod:

\xXX.. |0 # komento
^^
| | +- Fallback flag
| +-------- Naka-encode na byte na pagkakasunud-sunod
+-------------- Unicode Character ID sa hex

Ang format ay halos pareho sa isang seksyon ng header maliban sa fallback flag: |
sinundan ng 0..3. Ang kahulugan ng mga posibleng halaga ay ang mga sumusunod:

|0 Ligtas na pabalik-balik. Ang isang character na na-decode sa Unicode ay nag-encode pabalik sa parehong byte
pagkakasunod-sunod. Karamihan sa mga character ay may ganitong bandila.

|1 Fallback para sa unicode -> encoding. Kapag nakita, idinaragdag ng enc2xs ang karakter na ito para sa
encode map lang.

|2 Laktawan ang sub-char na pagmamapa kung walang code point.

|3 Fallback para sa pag-encode -> unicode. Kapag nakita, idinaragdag ng enc2xs ang karakter na ito para sa
decode map lang.

· At sa wakas, END OF CHARMAP ang nagtatapos sa seksyon.

Kapag manu-mano kang gumagawa ng UCM file, dapat mong kopyahin ang ascii.ucm o isang umiiral na
pag-encode na malapit sa iyo, sa halip na isulat ang iyong sarili mula sa simula.

Kapag ginawa mo ito, siguraduhing umalis ka man lang U0000 sa U0020 bilang ay, maliban kung ang iyong kapaligiran
ay EBCDIC.

CAVEAT: hindi lahat ng feature sa UCM ay naipatupad. Halimbawa, hindi ginagamit ang icu:state.
Dahil doon, kailangan mong magsulat ng perl module kung gusto mong suportahan ang algorithmical
encodings, lalo na ang ISO-2022 series. Kasama sa mga naturang module ang Encode::JP::2022_JP,
Encode::KR::2022_KR, at Encode::TW::HZ.

Pagkaya sa kopyahin pagmamapa
Kapag gumawa ka ng mapa, DAPAT mong gawing ligtas ang iyong mga mapping round-trip. Yan ay,
Ang "encode('your-encoding', decode('your-encoding', $data)) eq $data" ay kumakatawan sa lahat
mga character na minarkahan bilang "|0". Narito kung paano makasigurado:

· Pagbukud-bukurin ang iyong mapa sa Unicode order.

· Kapag mayroon kang duplicate na entry, markahan ang alinman sa isa ng '|1' o '|3'.

· At siguraduhin na ang '|1' o '|3' na entry ay SUMUSUNOD sa '|0' na entry.

Narito ang isang halimbawa mula sa big5-eten.

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

Panloob na Encoding -> Unicode at Unicode -> Encoding Map ganito ang hitsura;

E sa UU hanggang E
--------------------------------------
\xF9\xF9 => U2550 U2550 => \xF9\xF9
\xA2\xA4 => U2550

Kaya ito ay round-trip na ligtas para sa \xF9\xF9. Ngunit kung ang linya sa itaas ay baligtad, ito ay kung ano
ang mangyayari.

E sa UU hanggang E
--------------------------------------
\xA2\xA4 => U2550 U2550 => \xF9\xF9
(\xF9\xF9 => Na-overwrite na ngayon ang U2550!)

Ang Encode package ay kasama ucmlint, isang krudo ngunit sapat na utility upang suriin ang
integridad ng isang UCM file. Suriin sa ilalim ng Encode/bin na direktoryo para dito.

Kapag may pagdududa, maaari mong gamitin ucmsort, isa pang utility sa ilalim ng Encode/bin na direktoryo.

Mga Bookmark


· ICU Home Pagehttp://www.icu-project.org/>

· ICU Character Mapping Tableshttp://site.icu-project.org/charts/charset>

· ICU: Data ng Conversionhttp://www.icu-project.org/userguide/conversion-data.html>

Gumamit ng enc2xs online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

Linux command

Ad