String ist nicht für statische Daten gedacht und legt bestimmt auch ein Objekt im Speicher an. Da ist dann echt das olle Array of Char passender.
Wenn man das im make Prozess mit generieren kann, gibt es auch keine Probleme mit Zeichen, die vergessen wurden beim Escapes einfügen. Gibt es xxd auch für Windows (oder noch DOS) ? Ich habe unter Windows dafür HxD benutzt. Allerdings leider nicht aus dem Makefile, sondern im Handbetrieb.
Könnte man statische Dateien nicht auch auf einen potenteren Server, der im Internet hängt auslagern und von da einbinden ? Oder blockt da der Browser aus Sicherheitsbedenken ?
Den Kram gepackt im Speicher abzulegen bringt doch erst was, wenn die Platzersparnis den Platzbedarf der Entpackroutine übersteigt. Und zeitlich dürfte das Entpacken so gut wie immer verlieren.
Was hier wunderbar funktioniert hat, ist die .html Dateien in dem Sinne zu packen, dass man alle Zeichen rauswirft, die nichts an der Darstellung im Browser ändern. Also auf Gliederungen durch Einrückungen und Zeilenumbrüche im Quelltext verzichtet und dem Browser gleich sagt, hier kommt UTF8, das kannst Du Punkt und dafür keine Umschreibungen wie
mehr braucht. Auch dafür gibt es Software, die Dateien entsprechend tuned.
Ehrlich gesagt, habe ich mir dieses Filesystem im ESP32 noch nicht angeschaut. Im Endeffekt, legt das doch bestimmt auch die Datem mit ein paar Verwaltungsdaten im Flash ab, oder ? Den Vorteil sehe ich dann, wenn ich öfter mal meine Software updaten muss, aber die riesigen Daten gleich bleiben, dann geht das flashen schneller. Die liegen doch bestimmt auch im Flash, oder ? Bzw. kann ich den Bereich für das Filesystem auf nahezu null schrauben, um den Platz dann für Daten, die sich in meinem Programmcode verstecken, frei zu machen ?
Der ESP32 hat doch keine Harvard Architektur, bei dem die Daten mühsam vom Programmspeicher in den Datenspeicher geschafft werden müssten.