Badger::Codec::Unicode
use Badger::Codec::Unicode; my $codec = Badger::Codec::Unicode->new(); my $uncoded = "...some Unicode data..."; my $encoded = $codec->encode($uncoded); my $decoded = $codec->decode($encoded);
This module is a subclass of Badger::Codec implementing a very thin wrapper around the Encode module for encoding and decoding Unicode.
A Badger::Codec::Unicode
object provides the encode() and decode() methods for encoding and decoding
Unicode.
use Badger::Codec::Unicode; my $codec = Badger::Codec::Unicode->new(); my $uncoded = "...some Unicode data..."; my $encoded = $codec->encode($uncoded); my $decoded = $codec->decode($encoded);
You can also call encode() and decode() as class methods.
my $encoded = Badger::Code::Unicode->encode($uncoded); my $decoded = Badger::Code::Unicode->decode($encoded);
You can also use a codec via the Badger::Codecs module.
use Badger::Codecs codec => 'unicode';
This exports the encode()
and decode()
subroutines.
my $uncoded = "...some Unicode data..."; my $encoded = encode($uncoded); my $decoded = decode($encoded)
Method for encoding Unicode data. If two arguments are provided then the first is the encoding and the second the data to encode.
$encoded = $codec->encode( utf8 => $data );
If one argument is provided then the encoding defaults to
UTF-8
.
$utf8 = $codec->encode($data);
Method for decoding Unicode data. If two arguments are provided then the first is the encoding and the second the data to decode.
$decoded = $codec->decode( utf8 => $encoded );
If one argument is provided then the method will look for a Byte Order
Mark (BOM) to determine the encoding. If a BOM isn't present, or if the
BOM doesn't match a supported Unicode BOM (any of UTF-8
,
UTF-32BE
UTF-32LE
, UTF-16BE
or
UTF-16LE
) then the data will not be decoded as Unicode.
$decoded = $codec->decode($encoded); # use BOM to detect encoding
This method returns a subroutine reference which can be called to encode Unicode data. Internally it calls the encode() method.
my $encoder = $codec->encode; $encoded = $encoder->($data);
Andy Wardley http://wardley.org/