Hur döpa filer för maximal systemkompatibilitet?

Permalänk
Medlem

Hur döpa filer för maximal systemkompatibilitet?

Jag behöver veta hur man döper filer, på ett sätt som gör att filnamnet i princip aldrig blir till ett hinder för olika system eller applikationer att använda filen – även enklare system.

Vad jag tänker på, mer specifikt, är att om man använder specialtecken eller ovanliga tecken i filnamnet – t.ex. ”é” eller åäö, eller "ç", eller ett utropstecken, eller ”&” eller ett kolon – eller om man använder dubbla mellanslag, eller har punkt som förstatecken i filnamnet, eller har filnamn längre än 256 tecken, så kan filnamnet i sig bli svår att överföra mellan vissa system, över internet eller andra medium. Jag behöver ha det så enkelt att det i princip inte kan strula, fast helst utan att man behöver gå tillbaka till 1968 års standard.

Det kan även bli svårt att formulera korrekt webbadress till en fil med avancerat filnamn. För många år sen var det halvt standard att använda så kallade 8.3 filnamn för att göra filnamnen kompatibla med DOS. Dvs filnamnet fick högst bara 8 tecken långt, och filändelsen fick vara max 3 tecken lång. ”Min_strandbild.jpeg” gick inte alltid att använda, men Strand11.jpg funkade.

Jag vill hitta en slags mall att använda, en mall som avgör vilka tecken man kan och inte kan använda, så att man eliminerar det här problemet överhuvudtaget. Det kanske inte går att eliminera helt, men åtminstone ta bort risken. Men olika servrar och även olika operativsystem har olika relation till tecken i den utökade tabellen.

Filerna jag talar om, är självständiga användarfiler - som mediafiler i olika format, samt textdokument, PDF, bildfiler m.m. - och inga exekverbara- eller system-filer eller script eller liknande. Systemen som dessa filer behöver kunna användas på, är webbadresser, i mobiltelefoner (även några år gamla telefoner), internetöverföringar, webbläsare och i en del videoprogram som Premiere och dylika. Tänk att filnamnen är filer i en stor katalog med filer, som ska användas till multimedia professionellt, och dessutom förhandsgranskas av olika tyckare och proffs på vägen (dela ut low-fi förhandsgranskningar via nätet för åsikter).

Vi använder dessutom Webdav (32-bit) som filöverföring mellan lokala enheter och samarbets-servern. Filerna kan även komma att användas i presentations-apparatur i konferenslokaler m.m. och filerna behöver även kunna skickas över FTP och http ibland.

Funkar det t.ex. precis alltid att ha mellanslag i filnamnet? Eller är det så pass fortfarande att man bör ersätta mellanslag med underscore för att vara kompatibel?

Hur undviker man sånt här med filnamn som strular till det, på bästa sätt?
Vilka tecken är ok och vilka är inte ok?
Hur känsliga är systemen idag?
Finns det färdiga standards som man kan titta på?

Tackar för tips

Permalänk
Medlem

Du har ju mer eller mindre redan svarat på frågan själv.

Om du ska vara DOS kompatibel och därmed kompatibel med alla system som stödjer filsystem baserade på FAT standarden får du använda 8.3 och tecken A-Z, 0-9. Filer får inte döpas till LPT, COM, CON osv som kan vara systemportar.

Visa signatur

"Om man arbetar tillräckligt länge med att förbättra ett föremål går det sönder. "

Hjälp oss göra världen lite snällare! www.upphittat.nu

Permalänk
Medlem
Permalänk
Medlem

@ZecretW: Tackar för svar.
Hmm. 8.3 det är horribelt, rena stenåldern. Om man tänker sig att man tar trappsteget upp, ifrån 8.3/FAT. Finns det namn för i vilken domän man hamnar då?

Permalänk
Medlem

* Skall du ha maximal kompatibilitet så:

Håll dig till 8+3 tecken - gamla FAT16 filsystem finns fortfarande.
Använd bara bokstäver [a-z] och siffror [0-9]. Låt första tecknet alltid vara en bokstav.
Använd antingen bara stora bokstäver eller bara små bokstäver. De flesta filsystem gör skillnad på små och stora bokstäver, vissa gör det inte.

* För inte riktigt lika maximal kompatibilitet men mycket mer flexibilitet:

Håll dig till bokstäver från engelska alfabetet [A-Za-z] , siffror [0-9], understreck [ _ ], bindestreck och punkt.
Börja filnamnet med en bokstav.
Ha inte mer än en punkt i filnamnet.
Undvik filnamn som bara skiljer sig åt i stora/små bokstäver - dvs ha inte två olika filer som heter "fil1.txt" och "Fil1.txt"

De flesta moderna filsystem och program har inga problem med konstiga tecken i filnamn, eller långa filnamn, men det finns fortfarande äldre system i bruk så vet du inte säkert exakt vilka program och system som kan vara inblandade så är det minsta gemensamma nämnare som gäller - och då är det i princip gamla MS-DOS konventioner.

Vad gäller standarder så se https://xkcd.com/927/

Permalänk
Medlem

UTF-8 är bara ett av många sätt att koda tecken. Det finns gaziljoner äldre program och system som inte förstår sig på UTF-8 alls. En hel del nyare program också för den delen.

Permalänk
Rekordmedlem

Om du inte vet var filerna kan hamna så går det inte att med säkerhet säga vad som kommer att fungera.
Vill du inte följa dosreglerna så lätta lite på det och håll dig till ascii och inga mellanslag elerl superlånga namn.
Moderna filsystem kan ju hantera nästan vad som helst men gamla kan imnte det så vet du inte var filerna ska hamna och du tror att de kan hamna på nått antikt system så får du helt enkelt vara försiktig.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Medlem

Ja det verkar som ni har rätt (era j*klar).

Tänkte att .. det är inte enbart en fråga om kompatibilitet, utan även om arkivbarhet med. Det ska gå att kunna organisera filerna i ordning i arkivet och samarbetsservern också. Ska man köra 8.3 filnamn, shit alltså .. finns ju inte ens plats för en versions-siffra i filnamnet då. Då är det nästan bättre att döpa filen till en siffer-kod, och sen ha ett register i textformat, där man loggar exakt vad filen 12345678.XYZ är för något och vad den innehåller. Kommer kännas lagom kul för användarna.

Ska fundera mer imorgon, men det lutar åt en försiktig tillämpning av en bredare standard. Jag hittade en som heter Joliet 9660, framtaget för CD ursprungligen. Den tillåter a-z, A-Z, 0-9 samt underscore och punkt. Låter ju lämpligt.

Sen är det en fråga hur man får användarna att fatta det här med. Annars får man väl lägga in custom-funktion på servern, typ

IF filename outside of $parameters THEN open "högljudd_fuckin_handgranat.wav"