الفرق بين المراجعتين لصفحة: «Ruby/String/unicode normalize»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال". |
جميل-بيلوني (نقاش | مساهمات) إضافة المحتوى |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby String]] | [[تصنيف: Ruby String]] | ||
يعيد التابع <code>unicode_normalize</code> | يعيد التابع <code>unicode_normalize</code> نسخة موحدة (normalized string، أي ذات ترميز موحد) للسلسلة النصية التي استدعيت معه، باستخدام ترميزات يونيكود الموحدة (Unicode normalizations) التالية: NFC، أو NFD، أو NFKC، أو NFKD. يطلق التابع [[Ruby/Exception|استثناءً]] إذا كانت السلسلة النصية غير مُرمّزة بترميز اليونيكود. | ||
يُقصَد بترميز اليونيكود (Unicode Encoding) أيًا من الترميزات التالية: UTF-8، أو UTF-16BE/LE، أو UTF-32BE/LE، أو GB18030، أو UCS_2BE، أو UCS_4BE. | |||
تُحوَّل السلسلة النصية إلى الترميز UTF-8، إذا كانت مُرمّزة بترميز مغاير له، مما يجعل العملية أبطأ فيما إذا كانت السلاسل مُرمّزة بالترميز UTF-8. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">unicode_normalize(form=:nfc)</syntaxhighlight> | <syntaxhighlight lang="ruby">unicode_normalize(form=:nfc)</syntaxhighlight> | ||
== المعاملات == | |||
=== <code>form</code> === | |||
يحدد نمط ترميزات يونيكود الموحدة في نسخة السلسلة النصية المعطاة، ويأخذ إحدى القيم التالية: | |||
* <code>nfc:</code> (القيمة الافتراضية) | |||
* <code>nfd:</code> | |||
* <code>nfkc:</code> | |||
* <code>nfkd:</code> | |||
==القيمة المعادة== | ==القيمة المعادة== | ||
تُعاد نسخة ذات ترميز موحد عن السلسلة النصية المعطاة باستخدام النمط <code>form</code>. يطلق [[Ruby/Exception|استثناء]] إذا كانت السلسلة النصية غير مُرمَزة بترميز اليونيكود. | |||
==أمثلة== | ==أمثلة== | ||
سطر 19: | سطر 33: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
* التابع <code>[[Ruby/String/force encoding|force_encoding]]</code>: يغير ترميز السلسلة النصية التي استدعي معها إلى ترميز مُحدد ثم يعيدها. | |||
* التابع <code>[[Ruby/String/unicode normalize-21|unicode_normalize!]]</code>: يوحد ترميز السلسلة النصية التي استدعيت معه باستخدام أحد ترميزات يونيكود الموحدة. | |||
* التابع <code>[[Ruby/String/unicode normalized-3F|unicode_normalized?]]</code>: يتحقق إذا كانت السلسلة النصية التي استدعيت معه ذات ترميز موحَّد باستخدام أحد ترميزات يونيكود الموحدة (Unicode normalizations). | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-unicode_normalize قسم التابع unicode_normalize في الصنف String في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/String.html#method-i-unicode_normalize قسم التابع unicode_normalize في الصنف String في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 13:45، 15 ديسمبر 2018
يعيد التابع unicode_normalize
نسخة موحدة (normalized string، أي ذات ترميز موحد) للسلسلة النصية التي استدعيت معه، باستخدام ترميزات يونيكود الموحدة (Unicode normalizations) التالية: NFC، أو NFD، أو NFKC، أو NFKD. يطلق التابع استثناءً إذا كانت السلسلة النصية غير مُرمّزة بترميز اليونيكود.
يُقصَد بترميز اليونيكود (Unicode Encoding) أيًا من الترميزات التالية: UTF-8، أو UTF-16BE/LE، أو UTF-32BE/LE، أو GB18030، أو UCS_2BE، أو UCS_4BE.
تُحوَّل السلسلة النصية إلى الترميز UTF-8، إذا كانت مُرمّزة بترميز مغاير له، مما يجعل العملية أبطأ فيما إذا كانت السلاسل مُرمّزة بالترميز UTF-8.
البنية العامة
unicode_normalize(form=:nfc)
المعاملات
form
يحدد نمط ترميزات يونيكود الموحدة في نسخة السلسلة النصية المعطاة، ويأخذ إحدى القيم التالية:
nfc:
(القيمة الافتراضية)nfd:
nfkc:
nfkd:
القيمة المعادة
تُعاد نسخة ذات ترميز موحد عن السلسلة النصية المعطاة باستخدام النمط form
. يطلق استثناء إذا كانت السلسلة النصية غير مُرمَزة بترميز اليونيكود.
أمثلة
مثال على استعمال التابع unicode_normalize
:
"a\u0300".unicode_normalize #=> "\u00E0"
"a\u0300".unicode_normalize(:nfc) #=> "\u00E0"
"\u00E0".unicode_normalize(:nfd) #=> "a\u0300"
"\xE0".force_encoding('ISO-8859-1').unicode_normalize(:nfd)
#=> Encoding::CompatibilityError raised
انظر أيضًا
- التابع
force_encoding
: يغير ترميز السلسلة النصية التي استدعي معها إلى ترميز مُحدد ثم يعيدها.
- التابع
unicode_normalize!
: يوحد ترميز السلسلة النصية التي استدعيت معه باستخدام أحد ترميزات يونيكود الموحدة. - التابع
unicode_normalized?
: يتحقق إذا كانت السلسلة النصية التي استدعيت معه ذات ترميز موحَّد باستخدام أحد ترميزات يونيكود الموحدة (Unicode normalizations).