Filnamn mangling
Processen med filnamnsmangling , i datoranvändning , innebär en översättning av filnamnet för kompatibilitet på operativsystemnivå . Det inträffar när ett filnamn på ett filsystem visas i en form som är inkompatibel med operativsystemet som har åtkomst till det. Sådan mangling inträffar till exempel på datornätverk när en Windows- maskin försöker komma åt en fil på en Unix- server och den filen har ett filnamn som innehåller tecken som inte är giltiga i Windows.
FAT Derivat filsystem
Legacy support under VFAT
Ett vanligt exempel på namnmangling förekommer på VFAT- filsystem på versioner av Windows från Windows 95 och framåt. VFAT-specifikationen [ förtydligande behövs ] tillåter långa filnamn (LFN). För bakåtkompatibilitet med MS-DOS och äldre Windows-program, som känner igen filnamn på högst 11 tecken långa med 8.3 -format (dvs: ett filnamn på åtta bokstäver, en punkt och ett tillägg på tre bokstäver, såsom autoexec.bat
), lagras filer med LFN på disken i 8.3-format ( longfilename.txt
blir longfi~1.txt
), med det långa filnamnet lagrat någon annanstans på disken.
Normalt [ förtydligande behövs ] , när du använder kompatibla Windows-program som använder standard Windows-metoder [ vilka ? ] för att läsa disken, returnerar I/O -undersystemet det långa filnamnet till programmet — men om ett gammalt DOS-program eller ett gammalt Windows-program försöker adressera filen, kommer det att använda de äldre API:erna som endast är 8.3, eller fungera på en lägre nivå och utföra sin egen diskåtkomst, vilket resulterar i att ett 8.3-filnamn returneras. I det här fallet blir filnamnen förvrängda genom att ta de första sex tecknen utan mellanslag i filnamnet och lägga till en tilde (~) och sedan en siffra för att säkerställa unikheten hos 8.3-filnamnet på disken. Detta manglingsschema kan förvandla (till exempel) programfiler
till PROGRA~1
. Denna teknik kvarstår idag när människor använder DOSBox för att spela klassiska DOS-spel eller använder Windows 3.1 tillsammans för att spela Win16- spel på 64-bitars Windows.
Unix filsystem
[ vilken? ]
Unix-filnamn kan innehålla kolon eller omvänt snedstreck , medan Windows tolkar sådana tecken i andra [ vilka? ] sätt. Följaktligen [ förtydligande behövs ] , kan programvara mangle Unix-filen "Notes: 11\04\03" som "Notes_ 11-04-03" för att möjliggöra för Windows-programvara att fjärråtkomst till filen. Andra Unix-liknande system, som Samba på Unix, använder olika manglingsystem [ förtydligande behövs ] för att mappa långa filnamn till DOS-kompatibla filnamn (även om Samba-administratörer kan konfigurera detta beteende i konfigurationsfilen).
Mac OS
macOS :s Finder visar instanser av " : " i fil- och katalognamn med en " / ". Detta beror på att det klassiska Mac OS använde tecknet ":" internt som en sökvägsseparator. Att lista dessa filer eller kataloger med en terminalemulator visar dock ett ":" snarare än "/"-tecknet.