more OO way to do hex string to bytes conversion

Ralph Doncaster nerdralph at github.com
Tue Feb 6 19:55:53 UTC 2018


On Tuesday, 6 February 2018 at 18:33:02 UTC, Ralph Doncaster 
wrote:
> I've been reading std.conv and std.range, trying to figure out 
> a high-level way of converting a hex string to bytes.  The only 
> way I've been able to do it is through pointer access:
>
> import std.stdio;
> import std.string;
> import std.conv;
>
> void main()
> {
>     immutable char* hex = "deadbeef".toStringz;
>     for (auto i=0; hex[i]; i += 2)
>         writeln(to!byte(hex[i]));
> }

Thanks for all the feedback.  I'll have to do some more reading 
about maps.  My initial though is they don't seem as readable as 
loops.
The chunks() is useful, so for now what I'm going with is:
     ubyte[] arr;
     foreach (b; "deadbeef".chunks(2))
     {
         arr ~= b.to!ubyte(16);
     }



More information about the Digitalmars-d-learn mailing list