[REBOL] Re: noob question -- insert 2 byte hexidecimal value into binary string
From: tomc:cs:uoregon at: 14-Apr-2008 14:15
hi Doug
search for url-encode on rebol.org
you will get some old examples that should still work
here is one
http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=cookies-client.r
DougEdmunds wrote:
> I am building a binary string, composed of
> 1) some hex code
> 2) the length of a string (as 2 bytes in hex16)
> 3) the string
>
> Without the length of the string in the middle, it looks like this:
>
> >> join #{836B} "Fred Flintstone and Wilma Flintstone"
> == #{
> 836B4672656420466C696E7473746F6E6520616E642057696C6D6120466C696E
> 7473746F6E65
> }
>
> I need to insert the length of the string as a
> two byte heximdecimal value after the initial #{836B}
> and before the string-as-hex part.
>
> >> length? "Fred Flintstone and Wilma Flintstone"
> == 36
>
> What I need is a 2 byte representation of the length (#0024),
> inserted so the finished binary is:
>
> #{
> 836B00244672656420466C696E7473746F6E6520616E642057696C6D6120466C696E
> 7473746F6E65}
>
> I can get a 2 byte representation in hex of the length:
>
> >> to-hex length? "Fred Flintstone and Wilma Flintstone"
> == #00000024
>
> >> remove/part to-hex length? "Fred Flintstone and Wilma Flintstone" 4
> == #0024
>
> But if I try to join it with the first part, it gets converted to ascii
> first.
>
> >> x: remove/part to-hex length? "Fred Flintstone and Wilma Flintstone" 4
> == #0024
> >> y: #{836B}
> == #{836B}
>
> >> join y x
> == #{836B30303234} ; no good
>
> If someone can show me how to do this, much appreciated.
>
> == Doug Edmunds
>
--
... nice weather eh tomc-cs.uoregon.edu