|
|
(2 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) |
سطر 1: |
سطر 1: |
| {{DISPLAYTITLE:التابع <code>Encoding::Converter.convert</code> في روبي}}
| |
| يُحوِّل التابع <code>convert</code> ترميز سّلسلة نصيّة معينة. يجب استخدام التابع <code>finish</code> في النّهاية.
| |
|
| |
|
| إذا حدث خطأٌ في التحويل، فسيُرمَى أحد الخطأين <code>Encoding::UndefinedConversionError</code> أو <code>Encoding::InvalidByteSequenceError</code>. لا يزوِّد التّابع <code>convert</code> أي طرائق لاسترداد أو إعادة العملية بدءًا من الاستثناء المرمي. استخدم التابع <code>primitive_convert</code> عندما تريد التّعامل مع هذه الاستثناءات.
| |
|
| |
| == البنية العامة ==
| |
| <syntaxhighlight lang="ruby">
| |
| convert(source_string) → destination_string
| |
| </syntaxhighlight>
| |
|
| |
| == المعاملات ==
| |
|
| |
| === <code>source_string</code> ===
| |
| السلسلة النّصية ذات التّرميز المصدر المراد تحويله. يعدُّ المعامل <code>source_string</code> جزءًا من المصدر. تُعين <code>partial_input:</code> مثلًا إلى القيمة <code>true</code> داخليًا (partial_input=>true:).
| |
|
| |
| == القيم المعادة ==
| |
| تُعاد السلسلة النصيّة <code>source_string</code> بعد تحويلها إلى التّرميز الوجهة الجديد.
| |
|
| |
| == أمثلة ==
| |
| مثالٌ عن استخدام التابع <code>convert</code>:<syntaxhighlight lang="ruby">
| |
| 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")
| |
|
| |
|
| |
| </syntaxhighlight>
| |
|
| |
| == انظر أيضًا ==
| |
| * التّابع <code>[[Ruby/Encoding/Converter/replacement|replacement::]]</code>: يُعيد سلسلة الاستبدال النصية.
| |
| * التّابع <code>[[Ruby/Encoding/Converter/replacement-3D|replacement]]</code>: يضبط سلسلة الاستبدال النصية.
| |
| * التّابع <code>[[wiki.hsoub.com/Ruby/Encoding/Converter/insert output|inspect]]</code>: يُعيد نسخةً قابلةً للطباعة من كائن الصنف <code>Encoding::Converter</code>.
| |
| * التّابع <code>[[Ruby/Encoding/Converter/primitive errinfo|primitive_errinfo]]</code>: يُعيد معلوماتٍ مهمّةً حول آخر خطأٍ حدث في مصفوفة مكونة من خمسة عناصر.
| |
| * التّابع <code>[[Ruby/Encoding/Converter/putback|putback]]</code>: يُعيد البايتات التي ستُحوَّل.
| |
|
| |
| == مصادر ==
| |
| * [http://ruby-doc.org/core-2.5.1/Encoding/Converter.html#method-i-convert صفحة التابع convert في الصنف Encoding::Converter في توثيق روبي الرسمي.]
| |
| [[تصنيف:Ruby]]
| |
| [[تصنيف:Ruby Method]]
| |
| [[تصنيف:Ruby Encoding::Converter]]
| |