אנגליתצרפתיתספרדי

Ad


סמל OnWorks

enc2xs - מקוון בענן

הפעל enc2xs בספק אירוח חינמי של OnWorks על אובונטו אונליין, פדורה אונליין, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה enc2xs שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


enc2xs - Perl Encode Module Generator

תַקצִיר


enc2xs -[אפשרויות]
enc2xs -M ModName קבצי map...
enc2xs -C

תיאור


enc2xs בונה סיומת Perl לשימוש על ידי Encode מכל אחת משתי התווים של Unicode
קבצים (.ucm) או Tcl Encoding Files (.enc). מלבד שימוש פנימי במהלך הבנייה
תהליך של מודול Encode, אתה יכול להשתמש enc2xs כדי להוסיף קידוד משלך ל-perl. לא
ידע ב-XS הכרחי.

מָהִיר להדריך


אם אתה רוצה לדעת כמה שפחות על Perl אבל צריך להוסיף קידוד חדש, פשוט
קרא את הפרק הזה ותשכח את השאר.

0. הכן קובץ ‎.ucm. אתה יכול להשיג את זה מאיפשהו או שאתה יכול לכתוב משלך
לגרד או שאתה יכול לתפוס אחד מהפצת Encode ולהתאים אותו. בשביל ה
פורמט UCM, עיין בפרק הבא. בדוגמה שלהלן, אני אכנה את התיאורטי שלי
קידוד myascii, מוגדר ב my.ucm. "$" הוא הנחיה של מעטפת.

$ ls -F
my.ucm

1. הפק פקודה כדלקמן;

$ enc2xs -M My.ucm
יצירת Makefile.PL
יצירת My.pm
יצירת README
יצירת שינויים

עכשיו תסתכל על הספרייה הנוכחית שלך. זה אמור להיראות כך.

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

הקבצים הבאים נוצרו.

Makefile.PL - סקריפט MakeMaker
My.pm - תת-מודול קידוד
t/My.t - קובץ בדיקה

1.1.
אם ברצונך להתקין את *.ucm יחד עם המודולים, בצע את הפעולות הבאות;

$ mkdir קידוד
$ mv *.ucm קידוד
$ enc2xs -M My Encode/*ucm

2. ערוך את הקבצים שנוצרו. אתה לא חייב אם אין לך זמן ואין לך כוונה
לתת את זה למישהו אחר. אבל מומלץ לערוך את הפוד ולהוסיף עוד בדיקות.

3. עכשיו הפק פקודה שכל פרל מונגרס אוהבים:

$ perl Makefile.PL
כתיבת Makefile עבור Encode::My

4. עכשיו כל מה שצריך לעשות זה להכין.

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
קריאת myascii (myascii)
כתיבת טופס מלוקט
128 בתים בטבלאות מחרוזות
384 בתים (75%) שמרו כפילויות איתור
1 בתים (0.775%) נשמר באמצעות מחרוזות משנה
....
chmod 644 blib/arch/auto/Encode/My/My.bs
$

הזמן שלוקח משתנה בהתאם למהירות המכונה שלך וכמה גדולה שלך
קידוד הוא. אלא אם כן אתה עובד על משהו גדול כמו euc-tw, זה לא ייקח יותר מדי
ארוך.

5. אתה יכול "לבצע התקנה" כבר אבל אתה צריך לבדוק קודם.

$ לעשות מבחן
PERL_DL_NONLAZY=1 /usr/local/bin/perl -Iblib/arch -Iblib/lib \
-e 'use Test::Harness qw(&runtests $verbose); \
$verbose=0; runests @ARGV;' t/*.t
t/my.... בסדר
כל הבדיקות הצליחו.
קבצים=1, בדיקות=2, 0 שניות של שעון קיר
( 0.09 cusr + 0.01 csys = 0.09 CPU)

6. אם אתה מרוצה מתוצאת הבדיקה, פשוט "בצע התקנה"

7. אם אתה רוצה להוסיף את הקידוד שלך לרשימת טעינת הביקוש של Encode (כדי שלא תצטרך
"use Encode::YourEncoding"), הפעל

enc2xs -C

כדי לעדכן את Encode::ConfigLocal, מודול השולט בהגדרות המקומיות. אחרי כן,
"השתמש ב-Encode;" מספיק כדי לטעון את הקידודים שלך לפי דרישה.

אל האני Unicode אופי מַפָּה


Encode משתמש בפורמט Unicode Character Map (UCM) עבור מיפוי תווי מקור. זֶה
הפורמט משמש את חבילת ה-ICU של IBM ואומץ על ידי ניק אינג-סימון לשימוש עם ה-
מודול קידוד. מכיוון ש-UCM גמיש יותר ממפת הקידוד של Tcl והרבה יותר משתמש-
ידידותי, זהו הפורמט המומלץ עבור Encode כעת.

קובץ UCM נראה כך.

#
# הערות
#
"US-ascii" # נדרש
"ascii" # אופציונלי
1 # נדרש; בדרך כלל 1
1 # מקסימום # של בתים/תווים
\x3F # תווים החלפה
#
קסם
\x0000 |00 #
\x0001 |01 #
\x0002 |02 #
....
\x007C |7 # קו אנכי
\x007D |7 # סוגר מתולתל ימני
\x007E |7 # TILDE
\x007F |7 #
סוף קסם

· כל דבר שאחרי "#" מטופל כהערה.

· קטע הכותרת ממשיך עד לשורה המכילה את המילה CHARMAP. חלק זה
יש צורה של ערך, זוג אחד בכל שורה. מחרוזות המשמשות כערכים חייבות להיות
מְצוּטָט. מתייחסים למילים חשופות כאל מספרים. \xXX מייצג בייט.

רוב מילות המפתח מובנות מאליהן. subchar פירושו אופי החלפה, לא
תו משנה. כאשר אתה מפענח רצף Unicode לקידוד זה אך ללא התאמה
נמצא, רצף הבתים המוגדר כאן ישמש. ברוב המקרים, ה
הערך כאן הוא \x3F; ב-ASCII, זהו סימן שאלה.

· CHARMAP מתחיל את קטע מפת התווים. לכל שורה יש טופס כדלקמן:

\xXX.. |0 # תגובה
^ ^ ^
| | +- דגל נפילה
| +-------- רצף בתים מקודד
+-------------- מזהה תו Unicode ב-hex

הפורמט זהה בערך למקטע כותרת למעט דגל ה-fallback: |
ואחריו 0..3. המשמעות של הערכים האפשריים היא כדלקמן:

|0 בטוח הלוך ושוב. תו שפוענח ל-Unicode מקודד בחזרה לאותו בייט
סדר פעולות. לרוב הדמויות יש את הדגל הזה.

|1 נפילה עבור unicode -> קידוד. כאשר נראה, enc2xs מוסיף את התו הזה עבור ה
מקודד מפה בלבד.

|2 דלג על מיפוי תתי משנה אם לא תהיה נקודת קוד.

|3 סתירה לקידוד -> unicode. כאשר רואים אותו, enc2xs מוסיף את התו הזה עבור ה
פענוח מפה בלבד.

· ולבסוף, END OF CHARMAP מסיים את הקטע.

כאשר אתה יוצר ידנית קובץ UCM, עליך להעתיק את ascii.ucm או קובץ קיים
קידוד שקרוב לשלך, במקום לכתוב משלך מאפס.

כאשר אתה עושה זאת, וודא שאתה עוזב לפחות U0000 ל U0020 כפי שהוא, אלא אם הסביבה שלך
הוא EBCDIC.

מערה: לא כל התכונות ב-UCM מיושמות. לדוגמה, לא נעשה שימוש ב-icu:state.
בגלל זה, אתה צריך לכתוב מודול perl אם אתה רוצה לתמוך באלגוריתמי
קידודים, בעיקר סדרת ISO-2022. מודולים כאלה כוללים Encode::JP::2022_JP,
קידוד::KR::2022_KR, ו-Encode::TW::HZ.

התמודדות עם לשכפל מיפויים
כאשר אתה יוצר מפה, אתה צריך להפוך את המיפויים שלך הלוך ושוב בטוחים. זה,
"encode('your-encoding', decode('your-encoding', $data)) eq $data" מייצג את כל
תווים המסומנים כ-"|0". הנה איך לוודא:

· מיין את המפה שלך בסדר Unicode.

· כאשר יש לך ערך כפול, סמן אחד מהם ב-'|1' או '|3'.

· וודא שהערך '|1' או '|3' עוקב אחר הערך '|0'.

הנה דוגמה מ-big5-eten.

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

קידוד פנימי -> Unicode ו-Unicode -> מפת קידוד נראית כך;

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

אז זה בטוח הלוך ושוב עבור \xF9\xF9. אבל אם הקו למעלה הוא הפוך, הנה מה
קורה.

E ל-UU ל-E
--------------------------------------
\xA2\xA4 => U2550 U2550 => \xF9\xF9
(\xF9\xF9 => U2550 הוחלף כעת!)

חבילת Encode מגיעה עם ucmlint, כלי עזר גס אך מספיק כדי לבדוק את
שלמות של קובץ UCM. בדוק זאת תחת ספריית Encode/bin.

כאשר יש ספק, אתה יכול להשתמש ucmsort, עוד כלי עזר תחת ספריית Encode/bin.

סימניות


· דף הבית של טיפול נמרץhttp://www.icu-project.org/>

· טבלאות מיפוי תווים נמרץhttp://site.icu-project.org/charts/charset>

· ICU: נתוני המרהhttp://www.icu-project.org/userguide/conversion-data.html>

השתמש ב-enc2xs באופן מקוון באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

פקודות לינוקס

Ad