Windows - Dateinamen im utf8 Format?



  • Die neuen Linuxversionen speichern doch Dateinamen im utf8 Format, ne. Kann man das Windows auch beibringen? Kann man das bei Windows einstelen?
    In welchem Format speichert eigentlich Windows die Dateinamen ab, UTF-16?

    Gruß!



  • utf8 n00b schrieb:

    Die neuen Linuxversionen speichern doch Dateinamen im utf8 Format, ne. Kann man das Windows auch beibringen? Kann man das bei Windows einstelen?
    In welchem Format speichert eigentlich Windows die Dateinamen ab, UTF-16?

    Gruß!

    Das Zauberwort heißt Dateisystem.



  • Ich habe das Zauberwort mehrmals ausgesprochen: laut, leise, vorwärts, rückwärts, aber nichts geschieht. Also, wie kann man Windows das beibringen?



  • utf8 n00b schrieb:

    Kann man das Windows auch beibringen? Kann man das bei Windows einstelen?

    Das NTFS-Dateisystem kann das.

    In welchem Format speichert eigentlich Windows die Dateinamen ab, UTF-16?

    Ja, UTF-16.



  • utf8 n00b schrieb:

    Die neuen Linuxversionen speichern doch Dateinamen im utf8 Format, ne.

    Nein, das ist konfigurierbar. Der Linux-Kernel kennt keine Encodings und speichert Dateinamen nur als Byte-Sequenzen ab. Ob das utf-8 ist oder was anderes, hängt von den locale-Einstellungen ab. Der Kernel weiß davon nichts.

    Man kann unter jedem gängigen Linux ohne weiteres Dateinamen anlegen, die kein gültiges utf-8 sind. Unter Windows bei NTFS geht das nicht, da muss jeder Dateiname aus gültigen Unicode-Codepoints bestehen.



  • Von sich aus benutzt Windows UTF-16 intern.



  • Christoph schrieb:

    Man kann unter jedem gängigen Linux ohne weiteres Dateinamen anlegen, die kein gültiges utf-8 sind. Unter Windows bei NTFS geht das nicht, da muss jeder Dateiname aus gültigen Unicode-Codepoints bestehen.

    Das habe ich allerdings anders in Erinnerung. Soweit ich weiß, stellt Windows bei NTFS 16 bit für das Namensencoding zur Verfügung, prüft aber nicht ob es tatsächlich gültiges UTF-16 ist. Ich habe auf die schnelle nur in der Wikipedia eine Aussage gefunden, die das stützt: http://en.wikipedia.org/wiki/NTFS

    NTFS allows any sequence of 16-bit values for name encoding (file names, stream names, index names, etc.). This means UTF-16 codepoints are supported, but the file system does not check whether a sequence is valid UTF-16 (it allows any sequence of short values, not restricted to those in the Unicode standard).

    Allerdings wäre mir eine Quelle in der MSDN lieber.. ich such morgen mal 🙂



  • [quote="Christoph"]

    utf8 n00b schrieb:

    Man kann unter jedem gängigen Linux ohne weiteres Dateinamen anlegen, die kein gültiges utf-8 sind. Unter Windows bei NTFS geht das nicht, da muss jeder Dateiname aus gültigen Unicode-Codepoints bestehen.

    Das ist wohl eher Sache des Explorers, wie es bei Unix Sache der Tools ist, dass Dateinamen Sinn ergeben.



  • Ich denke man kann sagen dass Windows (ab 2000/XP) Text grundsätzlich in UTF-16 verarbeitet. Das schliesst auch Dateinamen mit ein.

    Allerdings ist Windows eine dicke dicke Zwiebel, und ab einer bestimmten Schicht ist es vermutlich egal ob die 16-Bit Zeichenketten nun gültiges UTF-16 sind oder nicht. Wo genau diese Grenze verläuft kann ich nicht sagen, ist (mir) aber auch herzlich egal.


Anmelden zum Antworten