Ich hätte ne Frage zu Rechencodierung, Wieso wird der Zeilenumbruch bei UTF-8 mit 2 Bytes codiert und nicht mit einem?

... komplette Frage anzeigen

3 Antworten

kann es mir nur so vorstellen dass damit 2 Befehle geschickt werden CR LF
Das eine für Springe am Anfang der Zeile, das andere für Springe zur nächsten Zeile carriage return Line feed

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von MGSD2
26.11.2016, 19:50

Vielen Dank!!

0

Wer sagt das? Das Zeichen dafür hat 1 Byte und ist dasselbe wie in ASCII:

00001010, dezimal 10, hexadezimal 0A.

Zur Erinnerung: Die ersten 128 Zeichen von UTF-8 (Indizes 0–127) sind identisch mit ASCII, und damit auch das Zeilenvorschubzeichen.


http://www.fileformat.info/info/unicode/char/000A/index.htm

Es gibt das Unicode-Zeichen U+2028 LINE SEPARATOR, aber das hat in UTF8 drei Byte.

http://www.fileformat.info/info/unicode/char/2028/index.htm

Antwort bewerten Vielen Dank für Deine Bewertung

Weil es 2 Zeichen sind ;) => \\n

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DustFireSky
26.11.2016, 19:54

Also ich muss das revidieren!

ASCII
LF
0A
10
\n

CR LF
0D 0A
13 10
\r\n

CR
0D
13
\r

Da 2 Hexwete jeweils 1 Byte sind und FF maximal 255 Dezimal ergibt sind 4 Hexwerte gleich 2 Byte und somit zwei komplette Zeichen. Das \ steht also nicht für ein eigenes Zeichen, sondern gehört somit zu dem \n als ein Zeichen, genauso wie \r

0

Was möchtest Du wissen?