Thread overview
string to byte array
Nov 05, 2008
rickdiaz
Nov 05, 2008
BCS
Nov 05, 2008
BCS
Nov 05, 2008
james
Nov 05, 2008
james
November 05, 2008
how do i convert a string of chars to byte array

will this work:

ubyte[] b;
char[] s="test";
b = cast(ubyte[]) s;

thx in advance
November 05, 2008
Reply to rickdiaz,

> how do i convert a string of chars to byte array
> 
> will this work:
> 
> ubyte[] b;
> char[] s="test";
> b = cast(ubyte[]) s;
> thx in advance
> 

yes


November 05, 2008
Reply to rickdiaz,

> how do i convert a string of chars to byte array
> 
> will this work:
> 
> ubyte[] b;
> char[] s="test";
> b = cast(ubyte[]) s;
> thx in advance
> 

note: char[] is utf-8 so that might not do exactly what you expect if you are not careful about what you expect.


November 05, 2008
BCS Wrote:

> Reply to rickdiaz,
> 
> > how do i convert a string of chars to byte array
> > 
> > will this work:
> > 
> > ubyte[] b;
> > char[] s="test";
> > b = cast(ubyte[]) s;
> > thx in advance
> > 
> 
> note: char[] is utf-8 so that might not do exactly what you expect if you are not careful about what you expect.
> 
> 

i wonder how you turn uint into ubyte array?, because above method wont work
November 05, 2008
"james" wrote
> BCS Wrote:
>
>> Reply to rickdiaz,
>>
>> > how do i convert a string of chars to byte array
>> >
>> > will this work:
>> >
>> > ubyte[] b;
>> > char[] s="test";
>> > b = cast(ubyte[]) s;
>> > thx in advance
>> >
>>
>> note: char[] is utf-8 so that might not do exactly what you expect if you are not careful about what you expect.
>>
>>
>
> i wonder how you turn uint into ubyte array?, because above method wont work

uint i;
auto ubarray = (cast(ubyte *)&i)[0..i.sizeof];

But be careful, you have to account for endianness.

-Steve


November 05, 2008
Steven Schveighoffer Wrote:

> "james" wrote
> > BCS Wrote:
> >
> >> Reply to rickdiaz,
> >>
> >> > how do i convert a string of chars to byte array
> >> >
> >> > will this work:
> >> >
> >> > ubyte[] b;
> >> > char[] s="test";
> >> > b = cast(ubyte[]) s;
> >> > thx in advance
> >> >
> >>
> >> note: char[] is utf-8 so that might not do exactly what you expect if you are not careful about what you expect.
> >>
> >>
> >
> > i wonder how you turn uint into ubyte array?, because above method wont work
> 
> uint i;
> auto ubarray = (cast(ubyte *)&i)[0..i.sizeof];
> 
> But be careful, you have to account for endianness.
> 
> -Steve
> 
> 
 thanks alot