الفرق بين المراجعتين ل"Ruby/Encoding/Converter/convert"
اذهب إلى التنقل
اذهب إلى البحث
(أنشأ الصفحة ب'{{DISPLAYTITLE:التابع <code>Encoding::Converter.convert</code> في روبي}} يُحوِّل التابع <code>convert</code> ترميز سّلسلة نصيّة...') |
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق.) |
||
سطر 2: | سطر 2: | ||
يُحوِّل التابع <code>convert</code> ترميز سّلسلة نصيّة معينة. يجب استخدام التابع <code>[[Ruby/Encoding/Converter/finish|finish]]</code> في النّهاية. | يُحوِّل التابع <code>convert</code> ترميز سّلسلة نصيّة معينة. يجب استخدام التابع <code>[[Ruby/Encoding/Converter/finish|finish]]</code> في النّهاية. | ||
− | إذا حدث خطأٌ في التحويل، فسيُرمَى أحد الخطأين <code>Encoding::UndefinedConversionError</code> أو <code>Encoding::InvalidByteSequenceError</code>. لا يزوِّد التّابع <code>convert</code> أي طرائق لاسترداد أو إعادة العملية بدءًا من الاستثناء المرمي. استخدم التابع <code>[[Ruby/Encoding/Converter/primitive convert|primitive_convert]]</code> عندما تريد التّعامل مع هذه الاستثناءات. | + | إذا حدث خطأٌ في التحويل، فسيُرمَى أحد الخطأين <code>[[Ruby/Encoding/UndefinedConversionError|Encoding::UndefinedConversionError]]</code> أو <code>[[Ruby/Encoding/InvalidByteSequenceError|Encoding::InvalidByteSequenceError]]</code>. لا يزوِّد التّابع <code>convert</code> أي طرائق لاسترداد أو إعادة العملية بدءًا من الاستثناء المرمي. استخدم التابع <code>[[Ruby/Encoding/Converter/primitive convert|primitive_convert]]</code> عندما تريد التّعامل مع هذه الاستثناءات. |
== البنية العامة == | == البنية العامة == | ||
سطر 12: | سطر 12: | ||
=== <code>source_string</code> === | === <code>source_string</code> === | ||
− | السلسلة النّصية ذات التّرميز المصدر المراد تحويله. يعدُّ المعامل <code>source_string</code> جزءًا من المصدر. تُعين <code>partial_input:</code> مثلًا إلى القيمة <code>true</code> داخليًا (partial_input=>true:). | + | السلسلة النّصية ذات التّرميز المصدر المراد تحويله. يعدُّ المعامل <code>source_string</code> جزءًا من المصدر. تُعين <code>partial_input:</code> مثلًا إلى القيمة <code>true</code> داخليًا (<code>partial_input=>true:</code>). |
== القيم المعادة == | == القيم المعادة == | ||
سطر 49: | سطر 49: | ||
* التّابع <code>[[Ruby/Encoding/Converter/replacement|replacement::]]</code>: يُعيد سلسلة الاستبدال النصية. | * التّابع <code>[[Ruby/Encoding/Converter/replacement|replacement::]]</code>: يُعيد سلسلة الاستبدال النصية. | ||
* التّابع <code>[[Ruby/Encoding/Converter/replacement-3D|replacement]]</code>: يضبط سلسلة الاستبدال النصية. | * التّابع <code>[[Ruby/Encoding/Converter/replacement-3D|replacement]]</code>: يضبط سلسلة الاستبدال النصية. | ||
− | * التّابع <code>[[ | + | * التّابع <code>[[Ruby/Encoding/Converter/inspect|inspect]]</code>: يُعيد نسخةً قابلةً للطباعة من كائن الصنف <code>[[Ruby/Encoding/Converter|Encoding::Converter]]</code>. |
* التّابع <code>[[Ruby/Encoding/Converter/primitive errinfo|primitive_errinfo]]</code>: يُعيد معلوماتٍ مهمّةً حول آخر خطأٍ حدث في مصفوفة مكونة من خمسة عناصر. | * التّابع <code>[[Ruby/Encoding/Converter/primitive errinfo|primitive_errinfo]]</code>: يُعيد معلوماتٍ مهمّةً حول آخر خطأٍ حدث في مصفوفة مكونة من خمسة عناصر. | ||
* التّابع <code>[[Ruby/Encoding/Converter/putback|putback]]</code>: يُعيد البايتات التي ستُحوَّل. | * التّابع <code>[[Ruby/Encoding/Converter/putback|putback]]</code>: يُعيد البايتات التي ستُحوَّل. | ||
سطر 57: | سطر 57: | ||
[[تصنيف:Ruby]] | [[تصنيف:Ruby]] | ||
[[تصنيف:Ruby Method]] | [[تصنيف:Ruby Method]] | ||
+ | [[تصنيف:Ruby Encoding]] | ||
[[تصنيف:Ruby Encoding::Converter]] | [[تصنيف:Ruby Encoding::Converter]] |
مراجعة 12:40، 15 أكتوبر 2018
يُحوِّل التابع convert
ترميز سّلسلة نصيّة معينة. يجب استخدام التابع finish
في النّهاية.
إذا حدث خطأٌ في التحويل، فسيُرمَى أحد الخطأين Encoding::UndefinedConversionError
أو Encoding::InvalidByteSequenceError
. لا يزوِّد التّابع convert
أي طرائق لاسترداد أو إعادة العملية بدءًا من الاستثناء المرمي. استخدم التابع primitive_convert
عندما تريد التّعامل مع هذه الاستثناءات.
البنية العامة
convert(source_string) → destination_string
المعاملات
source_string
السلسلة النّصية ذات التّرميز المصدر المراد تحويله. يعدُّ المعامل source_string
جزءًا من المصدر. تُعين partial_input:
مثلًا إلى القيمة true
داخليًا (partial_input=>true:
).
القيم المعادة
تُعاد السلسلة النصيّة source_string
بعد تحويلها إلى التّرميز الوجهة الجديد.
أمثلة
مثالٌ عن استخدام التابع convert
:
ec = Encoding::Converter.new("utf-8", "euc-jp")
puts ec.convert("\u3042").dump #=> "\xA4\xA2"
puts ec.finish.dump #=> ""
ec = Encoding::Converter.new("euc-jp", "utf-8")
puts ec.convert("\xA4").dump #=> ""
puts ec.convert("\xA2").dump #=> "\xE3\x81\x82"
puts ec.finish.dump #=> ""
ec = Encoding::Converter.new("utf-8", "iso-2022-jp")
puts ec.convert("\xE3").dump #=> "".force_encoding("ISO-2022-JP")
puts ec.convert("\x81").dump #=> "".force_encoding("ISO-2022-JP")
puts ec.convert("\x82").dump #=> "\e$B$\"".force_encoding("ISO-2022-JP")
puts ec.finish.dump #=> "\e(B".force_encoding("ISO-2022-JP")
انظر أيضًا
- التّابع
replacement::
: يُعيد سلسلة الاستبدال النصية. - التّابع
replacement
: يضبط سلسلة الاستبدال النصية. - التّابع
inspect
: يُعيد نسخةً قابلةً للطباعة من كائن الصنفEncoding::Converter
. - التّابع
primitive_errinfo
: يُعيد معلوماتٍ مهمّةً حول آخر خطأٍ حدث في مصفوفة مكونة من خمسة عناصر. - التّابع
putback
: يُعيد البايتات التي ستُحوَّل.