native_from_to#
Reencode a byte string in place from one encoding to another.
Σύνοψη#
from_to($octets, $from, $to);
from_to($octets, $from, $to, $check);
Τι επιστρέφεται#
The number of characters in the reencoded result, or undef if the conversion could not complete. $octets itself is modified in place - after the call it holds raw bytes in the $to encoding and has no SVf_UTF8 flag.
Think of from_to as a bundled decode / encode pair where the intermediate character string is never exposed to Perl. That is sometimes what you want (less allocation, no flag juggling) and sometimes a trap (no way to intervene between the two halves).
Παραδείγματα#
Convert a Latin-1 HTTP body to UTF-8 before writing:
my $body = read_file($path); # raw bytes
from_to($body, 'iso-8859-1', 'UTF-8');
write_file($out, $body);
Unknown encodings croak - same as encode / decode.
Οριακές περιπτώσεις#
undefinput returnsundefand leaves$octetsuntouched.$checkis forwarded to both the decode and encode halves.
Διαφορές από το upstream#
Fully compatible with upstream for the registered encodings.