개요
8.3 파일 이름(영어: 8.3 filename)은 파일 이름 및 확장자의 길이를 제한하는 컴퓨터 파일 명명 규칙이다. 이 규칙에 따르면 파일 이름(베이스네임)은 최대 8자, 파일 확장자는 최대 3자로 제한되며, 이름과 확장자는 마침표(.)로 구분한다. 짧은 파일 이름(Short File Name, SFN) 또는 8.3 포맷이라고도 불린다.
이 명명 규칙은 CP/M, 초기 도스(DOS), 그리고 Windows 95와 Windows NT 3.5 이전의 마이크로소프트 윈도우 버전에서 사용되었다. 현대의 마이크로소프트 운영 체제에서도 레거시 프로그램과의 호환성을 위해 긴 파일 이름(Long File Name, LFN)에 대한 대체 이름으로 8.3 파일 이름이 자동 생성되기도 한다.
역사와 기원
8.3 파일 이름 규칙의 기원은 초기 컴퓨터 운영 체제에서 찾을 수 있다. MS-DOS는 CP/M의 영향을 받아 개발되었으며, CP/M의 파일 명명 체계 역시 DEC 사의 TOPS-10 운영 체제 등 이전 시스템의 영향을 받았다. 초기 DEC 운영 체제들은 36비트 워드를 사용하는 하드웨어 구조에 맞춰 6.3 형식의 파일 이름을 사용하기도 했으나, IBM 테이프 및 디스크 파일의 8자리 이름과의 호환 문제를 해결하기 위해 파일 이름 길이가 8자로 확장된 것으로 알려져 있다. 또한 CP/M의 디렉터리 항목 구조상 파일명에 사용 가능한 공간을 고려하여 8.3 구조가 성립된 측면이 있다.
이후 MS-DOS가 이 규칙을 채택하면서 8.3 파일 이름은 개인용 컴퓨터 환경에서 널리 사용되었다.
규칙 및 제한 사항
8.3 파일 이름은 다음과 같은 제한을 따른다.
- 파일 이름은 최대 8자, 확장자는 최대 3자로 제한된다.
- 사용 가능한 문자는 ASCII 코드를 기준으로 하며, 대문자 A~Z, 숫자 0~9, 그리고 일부 특수 문자(!, #, $, %, &, ', (, ), -, @, ^, _, `, {, }, ~)가 허용된다.
- 소문자는 파일 저장 시 대문자로 변환되어 저장되며, 시스템은 일반적으로 대소문자를 구분하지 않는다.
- 마침표는 베이스네임과 확장자 사이의 구분자로만 사용된다.
- 이름이 8자 또는 3자를 초과하는 부분은 잘려나가 무시된다.
긴 파일 이름과의 관계
Windows 95와 Windows NT 3.5부터 도입된 VFAT(Virtual File Allocation Table)와 이후의 파일 시스템은 긴 파일 이름(LFN)을 지원하게 되었다. 이와 동시에 기존 DOS 및 Windows 3.1 응용 프로그램과의 하위 호환성을 유지하기 위해, 운영 체제는 긴 파일 이름을 가진 파일에 대해 자동으로 8.3 형식의 짧은 이름을 생성한다.
긴 파일 이름에서 8.3 형식의 이름을 생성하는 알고리즘은 다음 원칙을 따른다.
- 긴 이름이 이미 8.3 대문자 규칙을 만족하면 별도의 LFN 항목을 저장하지 않는다. 예: TEXTFILE.TXT
- 긴 이름이 8.3 규칙을 만족하지만 대소문자가 섞인 경우, 원래의 대소문자 이름을 저장하면서 8.3 이름은 모두 대문자로 생성한다. 예: TextFile.Txt는 TEXTFILE.TXT로 표현된다.
- 이름이 길거나 허용되지 않는 문자를 포함하는 경우, 유효하지 않은 문자는 제거되거나 밑줄(_)로 대체된다. 잘려진 이름은 베이스네임의 처음 6자, 물결표(~), 숫자 하나, 마침표, 그리고 확장자의 처음 3자로 구성된다. 예: TextFile.Mine.txt는 TEXTFI~1.TXT로 생성된다.
- Windows 2000 이후 버전에서는 동일한 첫 6글자를 가진 8.3 이름이 여러 개 존재하는 경우, 처음 2자와 문서화되지 않은 해시 기반의 16진수 4자리를 사용하기도 한다. 예: TE021F~1.TXT
현재의 활용
8.3 파일 이름은 NTFS 파일 시스템에서도 레거시 응용 프로그램 호환성을 위해 여전히 지원된다. 다만 시스템 전체 또는 볼륨별로 8.3 이름 생성 기능을 비활성화할 수 있으며, 성능 향상을 위해 많은 수의 유사한 이름을 가진 파일이 존재하는 환경에서는 비활성화가 권장되기도 한다. ReFS(Resilient File System)는 8.3 파일 이름을 지원하지 않는다.
ISO 9660 파일 시스템(주로 컴팩트 디스크에 사용됨)의 가장 기본적인 레벨(Level 1)에서도 유사한 길이 제한이 존재한다.
외부 참고 자료
- Microsoft Learn — 파일 이름 지정, 경로 및 네임스페이스
- Microsoft Learn — MS-FSCC: 8.3 Filename
- 위키백과 — 8.3 filename