التابع Encoding::Converter.convert
في روبي
اذهب إلى التنقل
اذهب إلى البحث
يُحوِّل التابع 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
: يُعيد البايتات التي ستُحوَّل.