Case preservation

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

When a computer file system stores file names, the computer may keep or discard case information. When the case is stored, it is called case preservation.

A system that is not case-preserving is necessarily case-insensitive, but it is possible and common for a system to be case-insensitive, yet case-preserving. This combination is often considered most natural for people to understand, because most people prefer using the correct capitalization but will still recognize others. For example, if someone refers to the "uNiTeD states oF AMERICA", it is understood to mean the United States of America, even though the capitalization is incorrect.

Versions of macOS prior to the introduction of APFS and SSD, current versions of the Microsoft Windows operating systems and all versions of Amiga OS are case-preserving and case-insensitive in most cases. Since they are case-insensitive, when requesting a file by name any capitalization can be used, in contrast to case-sensitive systems where only a single capitalization would work. But as they are case-preserving, when viewing a file's name it will be presented with the capitalization used when the file was created. On a non-case-preserving system, arbitrary capitalization would be displayed instead, such as all upper- or lower-case. Also, in case-insensitive but case preserving file systems there cannot be a readme.txt and a Readme.txt in the same folder.

Examples of systems with various case-sensitivity and case-preservation exist among file systems:

Case-sensitive Case-insensitive
Case-preserving UFS, ext3, ext4, HFS Plus (optional), NTFS (in unix), APFS (optional) VFAT, FAT32 which is basically always used with long filename support, NTFS, HFS Plus, APFS
Non-case-preserving Impossible FAT12, FAT16 only when without long filename support.