Method: IO#external_encoding
- Defined in:
- io.c
#external_encoding ⇒ Encoding?
Returns the Encoding object that represents the encoding of the stream, or nil if the stream is in write mode and no encoding is specified.
See Encodings.
13440 13441 13442 13443 13444 13445 13446 13447 13448 13449 13450 13451 13452 13453 13454 |
# File 'io.c', line 13440 static VALUE rb_io_external_encoding(VALUE io) { rb_io_t *fptr = RFILE(rb_io_taint_check(io))->fptr; if (fptr->encs.enc2) { return rb_enc_from_encoding(fptr->encs.enc2); } if (fptr->mode & FMODE_WRITABLE) { if (fptr->encs.enc) return rb_enc_from_encoding(fptr->encs.enc); return Qnil; } return rb_enc_from_encoding(io_read_encoding(fptr)); } |