الفرق بين المراجعتين ل"Ruby/Encoding/UndefinedConversionError/source encoding"
< Ruby | Encoding | UndefinedConversionError
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق.) |
ط |
||
سطر 13: | سطر 13: | ||
مثالٌ عن استخدام التّابع <code>source_encoding</code>:<syntaxhighlight lang="ruby"> | مثالٌ عن استخدام التّابع <code>source_encoding</code>:<syntaxhighlight lang="ruby"> | ||
ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP") # ISO-8859-1 -> UTF-8 -> EUC-JP | ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP") # ISO-8859-1 -> UTF-8 -> EUC-JP | ||
− | |||
begin | begin | ||
− | + | ec.convert("\xa0") # NO-BREAK SPACE, which is available in UTF-8 but not in EUC-JP. | |
− | |||
− | |||
rescue Encoding::UndefinedConversionError | rescue Encoding::UndefinedConversionError | ||
− | + | p $!.source_encoding #=> #<Encoding:UTF-8> | |
− | + | p $!.destination_encoding #=> #<Encoding:EUC-JP> | |
− | + | p $!.source_encoding_name #=> "UTF-8" | |
− | + | p $!.destination_encoding_name #=> "EUC-JP" | |
− | |||
− | |||
− | |||
− | |||
− | |||
end | end | ||
المراجعة الحالية بتاريخ 19:07، 18 أكتوبر 2018
يعيد التّابع source_encoding
التّرميز المصدر ككائن. لاحظ أنَّ التّرميز النّاتج قد لا يكون مطابقًا للترميز المصدري الخاص بالمحوّل إذا تمّت عملية التّحويل على عدّة مراحل.
البنية العامة
source_encoding → encoding
القيم المعادة
يُعاد كائن من النوع Encoding
يمثل التّرميز المصدر.
أمثلة
مثالٌ عن استخدام التّابع source_encoding
:
ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP") # ISO-8859-1 -> UTF-8 -> EUC-JP
begin
ec.convert("\xa0") # NO-BREAK SPACE, which is available in UTF-8 but not in EUC-JP.
rescue Encoding::UndefinedConversionError
p $!.source_encoding #=> #<Encoding:UTF-8>
p $!.destination_encoding #=> #<Encoding:EUC-JP>
p $!.source_encoding_name #=> "UTF-8"
p $!.destination_encoding_name #=> "EUC-JP"
end
انظر أيضًا
- التّابع
destination_encoding
: يُعيد التّرميز الهدف على شكل كائن. - التّابع
destination_encoding_name
: يُعيد اسم الترميز الهدف. - التابع
error_char
: يُعيد سلسلة نصية تحوي المحرف الذي أدى إلى رمي الاستثناءUndefinedConversionError
. - التّابع
source_encoding_name
: يُعيد اسم التّرميز المصدر.