2011-04-27 12 views

Odpowiedz

10

Jeśli masz prostą, 8-bitową reprezentację znaków (np. Rozszerzony ASCII), to nie, endianness nie wpływa na układ, ponieważ każdy znak jest jeden bajt.

Jeśli masz reprezentację wielobajtową, taką jak UTF-16, to tak, ważność jest nadal ważna (patrz np. http://en.wikipedia.org/wiki/UTF-16#Byte_order_encoding_schemes).

+0

Wiem, że mały endian oznacza, że ​​najmniej znaczący bajt jest przywracany na najniższym adresie, ale tak jest w przypadku liczby, a co w przypadku ciągu? –

+0

@ compile-fan: Zobacz np. http://en.wikipedia.org/wiki/UTF-16#Byte_order_encoding_schemes. –

+0

Czy jest to ważne dla ascii ** string **? –

1

Dla ciągów znaków 1-bajtowych, które są poprawne. W przypadku ciągów Unicode (2 bajty/znak) wystąpi różnica.

+0

Czy możesz rozwinąć różnicę? –

+0

@ compile-fan: Jest taki sam, jak w przypadku liczb wielobajtowych. –

1

To na ogół nieprawda. W zależności od okoliczności, więcej niż jeden bajt może być użyty dla znaków, w którym to przypadku istnieje różnica między małym endianowym kodowaniem znaków a big endianowym kodowaniem znaków.

1

W przeważającej części, ale powinieneś zrozumieć, dlaczego. Big vs little endian odnosi się do porządkowania bajtów w wielobajtowych typach danych, takich jak liczby całkowite. Znaki ASCII to tylko jeden bajt.

Należy jednak pamiętać, że znaki Unicode mają wiele bajtów, więc kolejność bajtów ma znaczenie. Cały punkt unicode polega na tym, że pojedynczy bajt w ASCII może kodować tylko 256 różnych wartości, co nie jest wystarczające dla wszystkich języków na świecie.

Patrz tutaj, aby uzyskać więcej informantion co oznacza kolejność bajtów: http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html

+0

Wiem, jak endian wpływa na liczby, ale nie wiem, czy wpływa na ciąg znaków ASCII. –

+1

Nie ma wpływu na ciągi ASCII, ponieważ znaki ASCII są pojedynczym bajtem, a ciąg jest po prostu tablicą znaków. Jest to to samo, co tablica liczb; kolejność numerów nie zmienia się, ale kolejność bajtów w obrębie każdej liczby ulega zmianie. – jhocking

Powiązane problemy