Badger::Codec::Encoding

NAME

Top Close Open

Badger::Codec::Encoding - base class codec for different encodings

SYNOPSIS

Top Close Open
package My::Encoding::utf8;
use base 'Badger::Codec::Encoding';
use constant encoding => 'utf8';

package main;
my $codec = My::Encoding::utf8->new;
my $encoded = $codec->encode("...some utf8 data...");
my $decoded = $codec->decode($encoded);

DESCRIPTION

Top Close Open

This module is a subclass of Badger::Codec which itself acts as a base class for various specific encoding modules.

METHODS

Top Close Open

encoding()

Top Close Open

This constant method returns the encoding for the codec. Subclasses are expected to redefine this method to return a string representing their specific encoding.

encode($data)

Top Close Open

Method for encoding data. It uses the encoding() method to determine the encoding type and then calls the Encode encode() subroutine to do all the hard work.

$encoded = $codec->encode($uncoded);

decode($data)

Top Close Open

Method for decoding data. It uses the encoding() method to determine the encoding type and then calls the Encode decode() subroutine to do all the hard work.

$decoded = $codec->decode($encoded);

encoder()

Top Close Open

This method returns a subroutine reference which can be called to encode data.

my $encoder = $codec->encode;
$encoded = $encoder->($data);

decoder()

Top Close Open

This method returns a suboroutine reference which can be called to decode data.

my $decoder = $codec->decode;
$decoded = $decoder->($data);

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