On 06/23/2017 09:26 PM, Felix wrote:
That works, thanks!
I've just tried this, which seems cleaner: import std.stdio; import std.system; import std.bitmanip; void ensureBigEndian(T)(ref T value) { if (endian == Endian.littleEndian) { value = *cast(T*)nativeToBigEndian(value).ptr; } } void main() { ubyte[] bytes = [ 0, 0, 0, 13 ]; uint u = *cast(uint*)bytes.ptr; writefln("Just read: %s", u); u.ensureBigEndian; writefln("Converted: %s", u); } Just read: 218103808 Converted: 13 Ali