Sunday, November 29, 2009

computing: Charactersets, Storage and Endianness

I've been listern to an excellent Scott Hanselman podcast about Internationalisation, the focus of much of the podcast as about unicode charactersets and their storage formats.


Scott and Carl Franklin really got down into the detail and the subject of big vs little endianess came up. I guest the new Intel macs must be little endian, like PCs (the old PowerPC macs were big endian - which matched the http protocol - saving a bitwise switch / rotation of every word...)


Here is a little background of the key concepts


In computing, endianness is the ordering of individually addressable sub-units (words, bytes, or even bits) within a longer data word stored in external memory. The most typical cases are the ordering of bytes within a 16-, 32-, or 64-bit word, where endianess is often simply referred to as byte order. The usual contrast is between most versus least significant byte first, called big-endian and little-endian respectively.


Etymology

The term big-endian comes from Jonathan Swift's satirical novel Gulliver’s Travels, where tensions are described in Lilliput and Blefuscu: whereas royal edict in Lilliput requires cracking open one's soft-boiled egg at the small end, inhabitants of the rival kingdom of Blefuscu crack theirs at the big end (giving them the moniker Big-endians). The terms little-endian and endianness have a similar intent.


http://en.wikipedia.org/wiki/Endianness



endian |ˈendēən|

adjective Computing

denoting or relating to a system of ordering data in a computer's memory whereby the most significant ( big endian) or least significant ( little endian) byte is put first.

ORIGIN 1980s: a reference to Swift's Gulliver's Travels, in which the Lilliputians were divided into two camps, those who ate their eggs by opening the ‘big’ end and those who ate them by opening the ‘little’ end.

No comments: