.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?
Verwijderd
little endian is idd dat de byte met laagste waarde eerst komt, dus een unsigned short (2 byte) met een waarde van 1 zou worden: 0x01, 0x00. In big endian machines wordt dat 0x00, 0x01 (wat ik persoonlijk weer logischer vind, maar ik ben geen systeem-developer
)
simpele code om uit te zoeken of een machine big/little endian is:
Veel meer dan dit valt er niet over te zeggen. Dit is in 99% van de gevallen namelijk compleet irrelevant omdat de taal waarin jij programmeert dit voor jou allemaal moet goedzetten in het systeem. De enige keer wanneer dit uitmaakt is met externe binarire communicatie, dus een binaire file inlezen of binaire data uitlezen uit een netwerk.
Specifieke zeg ik binair omdat als je 14 als string (bv. ascii) verstuurt, dat de volgorde dan duidelijk is. Eerst komt de character 1, dan de character 4. In binaire vorm 14 versturen (0x00, 0x00, 0x00, 0x0e als het een unsigned integer is) is wel gevoelig voor endianness. Maar dat geldt dus alleen voor binaire data (denk aan audio/video bestanden, bv. AVI of WAV)...
simpele code om uit te zoeken of een machine big/little endian is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| function()
{
unsigned short nummer = 1;
unsigned char *letters = &nummer;
if (letters[0] == 0x01 && letters[1] = 0x00)
{
// little endian
}
else if (letters[1] == 0x01 && letters[0] == 0x00)
{
// big endian
}
else
{
// panic
}
} |
Veel meer dan dit valt er niet over te zeggen. Dit is in 99% van de gevallen namelijk compleet irrelevant omdat de taal waarin jij programmeert dit voor jou allemaal moet goedzetten in het systeem. De enige keer wanneer dit uitmaakt is met externe binarire communicatie, dus een binaire file inlezen of binaire data uitlezen uit een netwerk.
Specifieke zeg ik binair omdat als je 14 als string (bv. ascii) verstuurt, dat de volgorde dan duidelijk is. Eerst komt de character 1, dan de character 4. In binaire vorm 14 versturen (0x00, 0x00, 0x00, 0x0e als het een unsigned integer is) is wel gevoelig voor endianness. Maar dat geldt dus alleen voor binaire data (denk aan audio/video bestanden, bv. AVI of WAV)...