MemoryBlock Docs Clarification

I’m pretty sure that Xojo MemoryBlocks always default to LittleEndian = True but the docs aren’t clear as they firstly state:

But then the first line of the example is this:

Could someone clear this up (and maybe amend the docs too)?

All the currently supported platforms are little endian… But I agree the docs should say specifically that for your second example if they are going to say it at all.

I’ve added this note to the MemoryBlock.LittleEndian page:

Thanks @Paul Lefebvre.

For what it’s worth - Apple Silicon is (will) be little endian too: https://developer.apple.com/documentation/xcode/porting_your_macos_apps_to_apple_silicon

[quote=496748:@Garry Pettet]I’m pretty sure that Xojo MemoryBlocks always default to LittleEndian = True but the docs aren’t clear as they firstly state:
[/quote]
That line probably should have been nuked when PowerPC builds disappeared since they were the big endian target of the day

Is there a reason why BinaryStream defaults to big endian given all the platforms natively use little endian? Presumably there’s a performance overhead incurred there?

Quite possibly habit in some ways
Maybe from days when RB was PPC based so everything was decided to be big endian and support for Windows on Intel had to assume the same conventions(so as to not break the IDE and moving binary projects from mac to Windows)
Plus there are lots of file formats assume big endian
I’d bet even the Xojo Binary file format assumes this

As does networking often assume big endian (Std 2 defined network byte order way back when)

Did you know that the data in .TTF front files are big endian? I wanted to read some info from one… It is still convenient sometimes to be able to set a memoryblock endianness … I hope that ability does not go away!

-karen

I meant from the docs
Not remove the property
There are all kinds of things that need this