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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

يعيد التّابع 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.

مصادر