الفرق بين المراجعتين لصفحة: «Ruby/Encoding/InvalidByteSequenceError/source encoding»
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
طلا ملخص تعديل |
||
سطر 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 | ||
</syntaxhighlight> | </syntaxhighlight> |
المراجعة الحالية بتاريخ 19:00، 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_bytes
: يُعيد البايتات التي رُفضَت عندما وقع الخطأInvalidByteSequenceError
.
- التّابع
?incomplete_input:
يتحقّق فيما إذا كان خطأ تسلسل البايت الحاصل ناتجًا عن إنهاءٍ مُبكِّرٍ للسّلسلة النّصية. - التّابع
readagain_bytes
: يعُيد البايتات المراد قراءتها مجدّدًا عندما يقع الخطأInvalidByteSequenceError
.
- التّابع
source_encoding_name
: يُعيد اسم التّرميز المصدر.