Tach!
Ob die 0-Bytes davor oder dahinter stehen, ist nur eine Frage der Bytereihenfolge, die Google für das Speichern gewählt hat.
Das bezieht sich auf die Anordnung in der Datei. In der Testausgabe kann und wird es durch die 1-Byte-pro-Zeichen-Stringbehandlung anders aussehen.
allerdings müßte das explode in beiden Fällen ein Byte davor erzeugen, sofern die 1 nicht durch das erste Byte in der Datei kodiert wird, was unwahrscheinlich ist, da UTF-16 ohne BOM im Internet nicht viel Sinn ergibt und Excel meines Wissens auch welche erzeugt.
Das 0-Byte dahinter ist erklärlich, weil PHPs explode() am Punkt schneidet. Der Punkt ist eingerahmt von 0-Bytes. Eins davon gehört zu ihm, das andere gehört entweder zum vorhergehenden oder nachfolgenden Zeichen, je nach Bytereihenfolge. Doch das ist PHP egal. Es sieht den Punkt und das 0-Byte davor kommt zum ersten Teilstring, das danach kommt zum zweiten Teilstring. Ob in der Testausgabe ein 0-Byte vor der ersten 1 des ersten Teils zu sehen ist oder nicht, ist auch eine Frage, an welcher Stelle der String geschnitten wurde.
dedlfix.