dedlfix: Binärdateien

Beitrag lesen

Hi!

Frage mich, wie die Funktion in php heisst, die die Bytelänge aus einem String ("Ä") errechnet?

Grundsätzlich geht PHP derzeit immer noch davon aus, dass 1 Zeichen gleich 1 Byte ist. Es sei denn, du hast Funktionen, bei denen extra eine spezielle Zeichenkodierung angegeben werden kann. strlen() liefert die Anzahl in Bytes, egal ob der String in einer Mehrbytekodierung vorliegt oder nicht, denn strlen() bietet keine Möglichkeit, etwas anderes anzugeben. So geht es den meisten String-Funktionen. Mehrbyte-Kodierungen können nur mit den mb_*-Funktionen bearbeitet werden. (Man kann zwar einige der normalen Stringfunktionen mit ihrem mb-Pendant überladen, aber das macht eigentlich keiner.)

Da pack() auch auf Byte-Ebene arbeitet und nichts von Mehrbyte-Zeichen weiss, arbeitet es für eine Längenermittlung perfekt mit strlen() zusammen.

Lo!