Ist der Ext3-Dateiname auf 255 Symbole oder 255 Bytes beschränkt?

8

Ich kann die Datei nicht mit dem Namen speichern, der mehr als 127 kyrillische UTF-8-Symbole in meinem Ext3-Dateisystem enthält. Es ist jedoch möglich, Dateien mit bis zu 255 englischen UTF-8-Symbolen zu speichern.

Gibt es also eine Begrenzung für die Anzahl der Bytes, die den Dateinamen oder die Anzahl der Zeichen im Dateinamen enthalten? Im ersteren Fall würde man beispielsweise auf Chinesisch eine noch strengere Begrenzung der Dateinamenlänge erwarten. Ist das richtig?

v_2e
quelle
3
@GioMac: Nein, das stimmt nicht. UTF-8 verwendet ein Codierungsschema variabler Länge, und z. B. liegen kyrillische Zeichen im Zwei-Byte-Bereich, wodurch die Länge auf 127 Codepunkte begrenzt wird, wenn nur kyrillische Buchstaben verwendet werden. Wie das OP feststellte, begrenzen andere Zeichen mit einer Codelänge von drei oder vier Bytes die Länge weiter. Zusammenfassend: Die maximale Länge des Dateinamens liegt je nach den verwendeten Codepunkten zwischen 255 und 63 Zeichen.
Sven

Antworten:

10

Ja, die maximale Dateinamenlänge beträgt 255 Byte, was zu einer unterschiedlichen maximalen Länge für Dateinamen in Abhängigkeit von den verwendeten Codepunkten und ihrer Codierungslänge führt.

Sven
quelle
1
Zu beachten ist, dass alle UTF-Schemata maximal 63 Codepunkte haben können. Verwenden der kleinsten Codeeinheiten für jedes Schema, UTF-8 (63-255), UTF-16 (63-127), UTF-32 (63). Nur zu Informationszwecken ist Ihre Antwort genau richtig.
Rahly