/[cvs]/nfo/perl/libs/Data/Mungle/Transform/Encode.pm
ViewVC logotype

Diff of /nfo/perl/libs/Data/Mungle/Transform/Encode.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by joko, Thu Feb 20 20:48:36 2003 UTC revision 1.6 by joko, Tue May 13 07:42:59 2003 UTC
# Line 2  Line 2 
2  ##  $Id$  ##  $Id$
3  ## -------------------------------------------------------------------------  ## -------------------------------------------------------------------------
4  ##  $Log$  ##  $Log$
5    ##  Revision 1.6  2003/05/13 07:42:59  joko
6    ##  + sub decode_hex_nybbles: e.g. required to decode binary data from cellular phones
7    ##
8    ##  Revision 1.5  2003/04/09 07:22:34  joko
9    ##  childObj2string now inside Encode.pm, renamed to 'twingle_reference'
10    ##
11    ##  Revision 1.4  2003/03/27 15:17:07  joko
12    ##  namespace fixes for Data::Mungle::*
13    ##
14  ##  Revision 1.3  2003/02/20 20:48:36  joko  ##  Revision 1.3  2003/02/20 20:48:36  joko
15  ##  renamed methods  ##  renamed methods
16  ##  ##
# Line 17  Line 26 
26  ## -------------------------------------------------------------------------  ## -------------------------------------------------------------------------
27    
28    
29  package Data::Transform::Encode;  package Data::Mungle::Transform::Encode;
30    
31  use strict;  use strict;
32  use warnings;  use warnings;
33    
34  require Exporter;  require Exporter;
35  our @ISA = qw( Exporter );  our @ISA = qw( Exporter );
36  our @EXPORT_OK = qw( &latin_to_utf8 &latin_to_utf8_scalar &utf8_to_latin &utf8_to_latin_scalar );  our @EXPORT_OK = qw(
37      &latin_to_utf8
38      &latin_to_utf8_scalar
39      &utf8_to_latin
40      &utf8_to_latin_scalar
41      &twingle_reference
42      &decode_hex_nybbles
43    );
44    
45    
46  use Unicode::String qw(utf8 latin1);  use Unicode::String qw(utf8 latin1);
# Line 91  sub utf8_to_latin_scalar { Line 107  sub utf8_to_latin_scalar {
107    }    }
108  }  }
109    
110    
111    # encodes object-references to serialized string representations
112    # made up of:
113    #   - 'o_<classname>_<ref type>_<guid>'???
114    #   - 'o_{guid}_{classname}'!!!
115    
116    # TODO: enhance further!
117    # make it possible to twingle OID-, GUID- and/or other references
118    
119    sub twingle_reference {
120      my $obj = shift;
121      my $option = shift;
122      my $string = 'n/a';
123      
124      #if ($option == 1) {
125        if ((my $classname = ref $obj) && (my $guid = $obj->{guid})) {
126          $string = join('_', 'o', $guid, $classname);
127        }  
128      #}
129      
130      return $string;
131    }
132    
133    sub decode_hex_nybbles {
134      my $data = shift;
135      my @buf;
136      for (my $i = 0; $i <= length($data); $i = $i + 2) {
137        my $nybble = substr($data, $i, 2);
138        push @buf, chr(hex($nybble));
139      }
140      return join('', @buf);
141    }
142    
143    
144  1;  1;
145  __END__  __END__

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.6

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed