← Back to team overview

sslug-teknik team mailing list archive

Re: Filnavne, UTF-8 og XFS

 

Jacob Sparre Andersen wrote:
> Frank Damgaard skrev:
>
>> On Thu, Mar 06, 2003 at 18:42:29 +0100, David wrote:
>
>
>>> 2) Kan man have filnavne i UTF-8 format?
>>
>
> Ja.
>
>>> Det vil sige, kan man også
>
>>> bruge udenlandsk karaktersæt i sit filnavn? I såfald for hvilket
>>> filsystem?
>>
>
> _Tegnsæt_!
>
>> For ext2/3, reiserfs, minixfs .... (men ikke FAT & Co):
>>
>> filnavne tillader gerne alle 8 bit tegn med enkelte undtagelser som
>>  bla. "nul" -tegn og "/".
>
>
> Så vidt jeg husker er et "filnavn" i Unix bare en sekvens af bytes
> hvor ingen af dem er nul.  Så kan hver enkelt bruger vælge sin
> tegnkodning og dermed hvordan _han_ ser filnavnene.  Det er en
> temmelig håbløs konstruktion.  Og jeg mener helt bestemt at
> skråstreger "/" er tilladte i filnavne - men på den anden side vil
> `touch` ikke lade mig oprette en fil ved navn "/", så Frank har nok
> ret i at man hverken kan bruge 0 og 47 i filnavne.
>
> Jeg prøvede lige at lave et Ada-program der prøvede at oprette filer
> med alle de 256 forskellige værdier der kan ligge i en byte.  Værdien
>  47 var den eneste der gav en fejlmeddelelse.  Men hvis man forsøger
> at lave en fil med værdien 0 i navnet så slutter navnet med byten før
>  den der var 0.
"0" (0x00) er traditionelt string-terminator byten i UNIX-miljøet. En arv fra C. Derfor kan du ikke have en fil med navnet 0.
"/" (0x2f) er delimiter for katalognavne, dvs at systemet vil blive
forvirret og tro der er tale om en sti, hvis "/" var tilladt.

Hvad er det håbløse i konstruktionen? Det er da et fint udtryk for FTAV!

MVH
--
Jon Svejgaard
====================================================================
                               | ACE - UNIX/Linux Consultancy
                               | Hjorthoejvej 2 / DK-4291 Ruds Vedby
mail: jon@xxxxxx               | DENMARK
http://www.ace.dk              | +45 5826 1799 / +45 4052 0799
====================================================================



Follow ups

References