Badger::Codec::Encode

NAME

Top Close Open

Badger::Codec::Encode - codec wrapper around Encode

SYNOPSIS

Top Close Open
use Badger::Codec::Encode;

my $codec    = Badger::Codec::Encode->new();
my $encoded = $codec->encode( utf8 => "...some utf8 data..." );
my $decoded = $codec->decode( utf8 => $encoded );

DESCRIPTION

Top Close Open

This module is a subclass of Badger::Codec implementing a very thin wrapper around the Encode module. It exists only to provide a consistent API with other Badger::Codec modules and to facilitate codec chaining.

You would normally use a codec via the Badger::Codecs module.

use Badger::Codecs 
    codec => 'encode';

my $encoding = 'UTF-8';
my $uncoded  = "...some UTF-8 data...";
my $encoded  = encode($encoding, $uncoded);
my $decoded  = decode($encoding, $encoded)

The above example is identical to using the Encode module directly:

use Encode;     # also exports encode()/decode()

In addition, a Badger::Codec::Encode object will be available via the codec() subroutine.

my $encoded  = codec->encode($encoding, $uncoded);
my $decoded  = codec->decode($encoding, $encoded)

METHODS

Top Close Open

encode($encoding, $data)

Top Close Open

Method for encoding data which forwards all arguments to the Encode encode() method. The first argument is the encoding, the second is the data to encode.

$encoded = Badger::Codec::Encode->encode( utf8 => $data );

decode($encoding, $data)

Top Close Open

Method for decoding data which forwards all arguments to the Encode decode() method. The first argument is the encoding, the second is the data to decode.

$decoded = Badger::Codec::Encode->decode( utf8 => $encoded );

encoder()

Top Close Open

This method returns a reference to the real subroutine that's doing all the encoding work, i.e. the encode() function in Encode.

decoder()

Top Close Open

This method returns a reference to the real subroutine that's doing all the encoding work, i.e. the decode() method in Encode.

AUTHOR

Top Close Open

Andy Wardley http://wardley.org/

COPYRIGHT

Top Close Open

Copyright (C) 2005-2009 Andy Wardley. All rights reserved.

Fork Me on Github