الفرق بين المراجعتين لصفحة: «Ruby/String/unicode normalize»

من موسوعة حسوب
< Ruby‏ | String
إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال".
 
إضافة المحتوى
 
سطر 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). 

مصادر