التابع Encoding.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
انظر أيضًا
- التّابع
destination_encoding
: يُعيد التّرميز الهدف. - التّابع
destination_encoding_name
: يُعيد اسم الترميز الهدف.
- التّابع
error_bytes
: يُعيد البايتات التي رُفضَت عندما وقع الخطأInvalidByteSequenceError
.
- التّابع
?incomplete_input:
يتحقّق فيما إذا كان خطأ تسلسل البايت الحاصل ناتجًا عن إنهاءٍ مُبكِّرٍ للسّلسلة النّصية. - التّابع
readagain_bytes
: يعُيد البايتات المراد قراءتها مجدّدًا عندما يقع الخطأInvalidByteSequenceError
.
- التّابع
source_encoding_name
: يُعيد اسم التّرميز المصدر.