enc2xs - عبر الإنترنت في السحابة

هذا هو الأمر enc2xs الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


enc2xs - مولد وحدة تشفير بيرل

موجز


enc2xs - [خيارات]
enc2xs -M ModName mapfiles ...
enc2xs -C

الوصف


enc2xs ينشئ امتداد Perl للاستخدام بواسطة Encode من أيٍ من مخطط أحرف Unicode
ملفات (.ucm) أو ملفات ترميز Tcl (.enc). إلى جانب استخدامها داخليًا أثناء البناء
عملية وحدة التشفير ، يمكنك استخدام enc2xs لإضافة الترميز الخاص بك إلى perl. لا
معرفة XS أمر ضروري.

سريع دليل


إذا كنت تريد معرفة أقل قدر ممكن عن Perl ولكنك تحتاج إلى إضافة ترميز جديد ، فقط
اقرأ هذا الفصل وانسى الباقي.

0. جهز ملف .ucm. يمكنك الحصول عليه من مكان ما أو يمكنك الكتابة بنفسك من
نقطة الصفر أو يمكنك الحصول على واحدة من توزيع التشفير وتخصيصها. بالنسبة إلى
تنسيق 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. الآن إصدار أمر يحبه كل بيرل مونجرز:

$ بيرل Makefile.PL
كتابة ملف Makefile للتشفير :: My

4. الآن كل ما عليك فعله هو القيام.

$ الصنع
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 $ مطول)؛
مطول بالدولار = 0 ؛ اختبارات المدى ARGV ؛ ' ر / *. ر
ر / بلدي .... طيب
جميع الاختبارات ناجحة.
الملفات = 1 ، الاختبارات = 2 ، 0 ثانية على مدار الساعة
(0.09 cusr + 0.01 csys = 0.09 CPU)

6. إذا كنت راضيًا عن نتيجة الاختبار ، فما عليك سوى "إجراء التثبيت"

7. إذا كنت ترغب في إضافة الترميز إلى قائمة تحميل الطلب الخاصة بـ Encode (حتى لا تضطر إلى ذلك
"استخدم Encode :: YourEncoding") ، قم بتشغيل

enc2xs -C

لتحديث Encode :: ConfigLocal ، الوحدة النمطية التي تتحكم في الإعدادات المحلية. بعد ذلك،
"استخدام التشفير" يكفي لتحميل ترميزاتك عند الطلب.

يونيكود حرف الخريطة


يستخدم الترميز تنسيق مخطط أحرف Unicode (UCM) لتعيينات الأحرف المصدر. هذا
يتم استخدام التنسيق بواسطة حزمة وحدة العناية المركزة الخاصة بشركة IBM وتم اعتماده بواسطة Nick Ing-Simmons للاستخدام مع ملف
وحدة التشفير. نظرًا لأن UCM أكثر مرونة من خريطة ترميز Tcl ومستخدم أكثر بكثير-
ودية ، هذا هو التنسيق الموصى به للتشفير الآن.

ملف UCM يبدو مثل هذا.

#
# تعليقات
#
"US-ascii" # مطلوب
"ascii" # اختياري
1 # مطلوب ؛ عادة 1
1 # ماكس. # بايت / شار
\ x3F # حرف الاستبدال
#
سحر
\ x0000 | 00 #
\ x0001 | 01 #
\ x0002 | 02 #
....
\ x007C | 7 # خط عمودي
\ x007D | 7 # قوس متعرج أيمن
\ x007E | 7 # التل
\ x007F | 7 #
نهاية السحر

· يتم التعامل مع أي شيء يتبع "#" على أنه تعليق.

· يستمر قسم الرأس حتى سطر يحتوي على كلمة CHARMAP. هذا القسم
له شكل قيمنا، زوج واحد في كل سطر. يجب أن تكون السلاسل المستخدمة كقيم
مقتبس. يتم التعامل مع Barewords كأرقام. \ xXX يمثل بايت.

معظم الكلمات الرئيسية لا تحتاج إلى شرح. فرعي يعني استبدال الحرف ، لا
من الباطن. عندما تقوم بفك تشفير تسلسل Unicode لهذا الترميز ولكن لا يوجد تطابق
تم العثور على حرف ، سيتم استخدام تسلسل البايت المحدد هنا. بالنسبة لمعظم الحالات ، فإن
القيمة هنا هي \ x3F ؛ في ASCII ، هذه علامة استفهام.

· CHARMAP يبدأ قسم خريطة الحرف. كل سطر له شكل كما يلي:

\ xXX .. | 0 # تعليق
^ ^ ^
| | + - العلم الاحتياطي
| + -------- تسلسل بايت مشفر
+ -------------- معرف أحرف Unicode بالنظام الست عشري

التنسيق هو نفسه تقريبًا مثل مقطع الرأس باستثناء العلامة الاحتياطية: |
متبوعًا بـ 0..3. معنى القيم الممكنة كما يلي:

| 0 رحلة ذهابًا وإيابًا آمنة. حرف تم فك ترميزه إلى Unicode يشفر مرة أخرى إلى نفس البايت
تسلسل. معظم الشخصيات لديها هذه الراية.

| 1 احتياطي لـ unicode -> الترميز. عند المشاهدة ، يضيف enc2xs هذا الحرف لملف
ترميز الخريطة فقط.

| 2 تخطي تعيين الأحرف الفرعية يجب ألا يكون هناك نقطة رمز.

| 3 احتياطي للتشفير -> يونيكود. عند المشاهدة ، يضيف enc2xs هذا الحرف لملف
فك الخريطة فقط.

· وأخيرًا ، تنتهي "END OF CHARMAP" من القسم.

عندما تقوم بإنشاء ملف UCM يدويًا ، يجب عليك نسخ ملف ascii.ucm أو ملف
ترميز قريب من ترميزك ، بدلاً من كتابة ترميزك الخاص من البداية.

عندما تفعل ذلك ، تأكد من المغادرة على الأقل U0000 إلى U0020 كما هي ، ما لم تكن بيئتك
هو EBCDIC.

مذكرة قانونية: لم يتم تنفيذ جميع الميزات في UCM. على سبيل المثال ، لا يتم استخدام الحالة icu.
لهذا السبب ، تحتاج إلى كتابة وحدة perl إذا كنت تريد دعم الخوارزمية
الترميزات ، ولا سيما سلسلة ISO-2022. تتضمن هذه الوحدات Encode :: JP :: 2022_JP ،
التشفير :: KR :: 2022_KR و Encode :: TW :: HZ.

المواجهة مع تكرار تعيينات
عند إنشاء خريطة ، يجب أن تجعل تعييناتك ذهابًا وإيابًا آمنة. إنه،
"encode (" your-encoding "، فك التشفير (" 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 الآن!)

حزمة التشفير تأتي مع com.ucmlint، وهي أداة خام ولكنها كافية للتحقق من
سلامة ملف UCM. تحقق من ذلك ضمن دليل Encode / bin.

عندما تكون في شك ، يمكنك استخدام com.ucmsort، بعد أداة أخرى ضمن دليل التشفير / bin.

فواصل الكتب


· الصفحة الرئيسية لوحدة العناية المركزةhttp://www.icu-project.org/>

· جداول تعيين الأحرف الخاصة بوحدة العناية المركزةhttp://site.icu-project.org/charts/charset>

· وحدة العناية المركزة: بيانات التحويلhttp://www.icu-project.org/userguide/conversion-data.html>

استخدم enc2xs عبر الإنترنت باستخدام خدمات onworks.net



أحدث برامج Linux و Windows عبر الإنترنت