Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: XDR basic encode decode

by andal (Hermit)
on Mar 27, 2012 at 07:34 UTC ( #961865=note: print w/ replies, xml ) Need Help??


in reply to XDR basic encode decode

Perl's pack() and unpack() offer partial solutions: the "N" format delivers a good fit (4 byte uint in network byte-order), but "A/*" encodes a string without extending the byte string payload length up to a multiple of 4-bytes.

Have you tried something like

my $l = length($string); $l += 3; $l >>= 2; $l <<= 2; pack("a$l", $string);


Comment on Re: XDR basic encode decode
Download Code
Replies are listed 'Best First'.
Re^2: XDR basic encode decode
by mr0 (Initiate) on Mar 27, 2012 at 09:20 UTC

    Yeah, I'd do something like that in a routine - probably called xdr_put_str() I'm after finding whether anyone has already written wrappers like this. Thanks.

    mr0

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://961865]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2015-07-08 03:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (94 votes), past polls