الفرق بين المراجعتين ل"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). 

مصادر