Stimmt es, dass die Endiannität nur das Speicherlayout von Zahlen beeinflusst, aber nicht die Zeichenkette?

8

Stimmt es, dass, egal ob die Architektur groß oder klein ist, sich nur das Speicherlayout der Zahlen unterscheidet, das der Zeichenkette gleich ist.

    
compile-fan 27.04.2011, 13:23
quelle

4 Antworten

10

Wenn Sie eine einfache 8-Bit-Zeichendarstellung haben (z. B. erweitertes ASCII), dann hat keine Endian-Einstellung Auswirkungen auf das Layout, da jedes Zeichen ein Byte ist.

Wenn Sie eine Multi-Byte-Repräsentation haben, wie zB UTF-16, dann ist ja die Endianess immer noch wichtig (siehe zB Ссылка ).

    
Oliver Charlesworth 27.04.2011, 13:26
quelle
1

Für Zeichenfolgen mit 1-Byte-Zeichen, die korrekt sind. Für Unicode-Strings (2 Bytes / Zeichen) gibt es einen Unterschied.

    
Klas Lindbäck 27.04.2011 13:26
quelle
1

Das stimmt generell nicht. Abhängig von den Umständen kann mehr als ein Byte für Zeichen verwendet werden. In diesem Fall gibt es einen Unterschied zwischen der Little-Endian-Codierung von Zeichen und der Big-Endian-Codierung von Zeichen.

    
Oswald 27.04.2011 13:27
quelle
1

Zum größten Teil, aber Sie sollten verstehen, warum. Big vs Little Endian bezieht sich auf die Reihenfolge von Bytes in Multi-Byte-Datentypen wie Ganzzahlen. ASCII-Zeichen sind nur ein einzelnes Byte.

Beachten Sie jedoch, dass Unicode-Zeichen mehrere Bytes sind, daher ist die Byte-Reihenfolge wichtig. Der ganze Punkt von Unicode ist, dass das einzelne Byte in ASCII nur 256 verschiedene Werte kodieren kann, was nicht für alle Sprachen in der Welt ausreicht.

Siehe hier, um mehr darüber zu erfahren, was Endianess bedeutet: Ссылка

    
jhocking 27.04.2011 13:30
quelle

Tags und Links