التابع Encoding::InvalidByteSequenceError.source_encoding في روبي

من موسوعة حسوب
مراجعة 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

انظر أيضًا

  • التّابع ?incomplete_input: يتحقّق فيما إذا كان خطأ تسلسل البايت الحاصل ناتجًا عن إنهاءٍ مُبكِّرٍ للسّلسلة النّصية.
  • التّابع readagain_bytes: يعُيد البايتات المراد قراءتها مجدّدًا عندما يقع الخطأ InvalidByteSequenceError.

مصادر