Tom: Darstellung von Zeichen

Beitrag lesen

Hello,

»0x0« bedeutet etwas anderes als »"\x0"«.

»0x0« bedeutet int(0). Darüber lassen sich also Integer-Zahlen in ihrer hexadezimalen Schreibweise notieren.
Wenn dieser Integer wie hier in einen String umgewandelt wird (weil der dritte Parameter von str_pad ein String sein muss), kommt der String »0« heraus. Das bedeutet ein Oktett mit dem Wert 0x30 (in ASCII die arabische Ziffer Null). Dieser String kann auch direkt mit »"\x30"« oder einfach »"0"« oder »'0'« usw. notiert werden.

»chr(0)« liefert einen String mit dem Oktett 0x0 (in ASCII das Steuerzeichen NUL). Das ist äquivalent zur Notation »"\x0"«, nicht aber äquivalent zur Notation »0x0« (auch nicht nach der

Typkonvertierung).

Danke. Ja das wurde mir dann auch klar. Ich bin es eben noch aus Pascal gewohnt, da einfach #13#10 hinzuschreiben, und der Compiler ersetzt das dann gegen die Oktette   0D 0A.

War schon etwas spät gestern gestern.

Herauskommen sollte das Zeichen NUL, da ich für den Bau von Records in Random-Access-Dateien die Zeichenlänge auffüllen muss. Es klappt inzwischen auch vorzüglich, vorwärts wie rückwärts.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau