파일 형식 26가지, 모두 정확한 크기로 생성됩니다
이들은 모두 해당 형식의 실제 파일입니다. 해당 소프트웨어에서 열리며 요청한 바이트 수와 정확히 같습니다. 확장자만 붙인 채운 0은 하나도 없습니다.
| 형식 | 이름 | 확장자 | 가장 작은 파일 | 완전성 | 검증 도구 |
|---|---|---|---|---|---|
avif |
AV1 Image File Format | .avif |
311 | full | pillow |
bmp |
Windows Bitmap | .bmp |
58 | full | pillow |
csv |
Comma-Separated Values | .csv |
115 | full | python-csv |
docx |
Word (Office Open XML) | .docx |
1220 | full | libreoffice |
gif |
Graphics Interchange Format | .gif |
114 | full | pillow |
html |
HyperText Markup Language | .html |
118 | full | python-html |
ico |
Windows Icon | .ico |
70 | full | pillow |
jpg |
JPEG | .jpg |
602 | full | pillow |
json |
JavaScript Object Notation | .json |
219 | full | node-json |
jxl |
JPEG XL | .jxl |
147 | full | pillow-jxl |
log |
Server and application log | .log |
155 | full | 해당 없음 |
md |
Markdown | .md |
0 | full | 해당 없음 |
pdf |
Portable Document Format | .pdf |
3415 | full | pdftotext |
png |
Portable Network Graphics | .png |
74 | full | pillow |
pptx |
PowerPoint (Office Open XML) | .pptx |
4809 | full | libreoffice |
svg |
Scalable Vector Graphics | .svg |
194 | full | inkscape |
targz |
tar + gzip | .tar.gz |
9790 | full | 7z |
tiff |
Tagged Image File Format | .tiff |
183 | full | pillow |
toml |
TOML | .toml |
212 | full | python-toml |
txt |
Plain text | .txt |
0 | full | 해당 없음 |
wav |
Waveform Audio | .wav |
98 | full | ffprobe |
webp |
WebP | .webp |
148 | full | pillow |
xlsx |
Excel (Office Open XML) | .xlsx |
1726 | full | libreoffice |
xml |
Extensible Markup Language | .xml |
264 | full | python-xml |
yaml |
YAML | .yaml |
241 | full | python-yaml |
zip |
ZIP | .zip |
8382 | full | 7z |
각 열의 의미
-
가장 작은 파일
파일 안에 쓰는 레이블을 포함해, 이 도구가 해당 형식에 대해 받아들이는 최소 바이트 수입니다. 더 작게 요청하면 하한과 그 이유를 알려 주는 오류가 나오며, 크기가 틀린 파일은 나오지 않습니다.
-
완전성
파일이 얼마나 완전한지입니다.
full은 형식을 실제로 파싱하는 리더가 받아들인다는 뜻이며, 단순히 확장자가 맞다는 뜻이 아닙니다. -
검증 도구
형식을 출시하기 전에 생성된 모든 파일을 여는 독립적인 리더입니다. 별도의 구현이며, 우리 코드가 스스로 숙제를 채점하는 것이 아닙니다.
모든 형식은 바이트 단위로 반복되기도 합니다. 같은 레시피와 같은 시드는 어느 컴퓨터에서나 같은 파일을 만들며, 그래서 픽스처 자체 대신 레시피를 커밋해도 안전합니다.
각 형식이 받는 설정
대부분의 형식에는 고유한 설정이 있습니다. 이미지 크기, JPEG 품질, PDF 쪽수, 스프레드시트의 행과 열, 아카이브에 들어가는 항목 수 등입니다. 명령줄에서는
--set key=value로, 레시피에서는 properties: 아래에서 설정합니다.
tfg generate --format jpg --size 500kb --set width=1920 --set height=1080 --set quality=85
| 형식 | 설정 | 허용값 |
|---|---|---|
avif |
width |
1 - 16384 픽셀 |
height |
1 - 16384 픽셀 | |
quality |
1 - 100 | |
bmp |
width |
1 - 20000 픽셀 |
height |
1 - 20000 픽셀 | |
csv |
delimiter |
comma, pipe, semicolon, tab |
line_ending |
crlf, lf | |
header |
참 또는 거짓 | |
quote_style |
all, minimal, none | |
columns |
2 - 32768 열 | |
docx |
paragraphs |
1 - 50000 단락 |
gif |
width |
1 - 20000 픽셀 |
height |
1 - 20000 픽셀 | |
frames |
1 - 60 | |
html |
structure |
document, fragment |
ico |
width |
1 - 256 픽셀 |
height |
1 - 256 픽셀 | |
embed |
bmp, png | |
jpg |
width |
1 - 20000 픽셀 |
height |
1 - 20000 픽셀 | |
quality |
1 - 100 | |
json |
formatting |
indented, minified, record-per-line |
jxl |
width |
1 - 16384 픽셀 |
height |
1 - 16384 픽셀 | |
quality |
1 - 100 | |
log |
entry_format |
apache-combined, apache-common, json-lines, nginx, plain, syslog |
timestamps |
advancing, fixed | |
rate |
1 - 1000000 초당 항목 수 | |
methods |
get, mixed, read | |
status_mix |
client-errors, realistic, server-errors, success | |
level_mix |
debug, errors, quiet, realistic | |
ip_version |
mixed, v4, v6 | |
line_ending |
crlf, lf | |
md |
encoding |
utf-16be, utf-16le, utf-8 |
bom |
참 또는 거짓 | |
pdf |
pages |
1 - 5000 |
page_size |
a3, a4, a5, legal, letter, mixed | |
orientation |
landscape, mixed, portrait | |
rotate |
0, 90, 180, 270 | |
pdf_version |
1.4, 1.7 | |
title |
임의의 텍스트 | |
author |
임의의 텍스트 | |
subject |
임의의 텍스트 | |
keywords |
임의의 텍스트 | |
creator |
임의의 텍스트 | |
producer |
임의의 텍스트 | |
created |
2024-02-29 또는 2024-02-29T13:45:00+02:00 같은 날짜, 또는 none | |
modified |
2024-02-29 또는 2024-02-29T13:45:00+02:00 같은 날짜, 또는 none | |
png |
width |
1 - 20000 픽셀 |
height |
1 - 20000 픽셀 | |
pptx |
slides |
1 - 500 슬라이드 |
svg |
width |
1 - 20000 픽셀 |
height |
1 - 20000 픽셀 | |
targz |
entries |
0 - 10000 |
entry_format |
tfg formats가 나열하는 형식의 id | |
entry_size |
2mb와 같은 크기 | |
compression |
best, default, fast, none | |
depth |
0 - 50 | |
directory_entries |
참 또는 거짓 | |
entry_mode |
000, 400, 444, 600, 644, 664, 666, 700, 755, 777 | |
entry_owner |
root, unset, user | |
tiff |
width |
1 - 20000 픽셀 |
height |
1 - 20000 픽셀 | |
txt |
encoding |
utf-16be, utf-16le, utf-8 |
bom |
참 또는 거짓 | |
wav |
sample_rate |
8000 - 192000 헤르츠 |
bit_depth |
8, 16, 24, 32 | |
channels |
1 - 8 | |
content |
noise, silence, sweep, tone | |
webp |
width |
1 - 16383 픽셀 |
height |
1 - 16383 픽셀 | |
xlsx |
rows |
1 - 200000 행 |
columns |
1 - 32768 열 | |
xml |
encoding |
utf-16be, utf-16le, utf-8 |
bom |
참 또는 거짓 | |
zip |
entries |
0 - 10000 |
entry_format |
tfg formats가 나열하는 형식의 id | |
entry_size |
2mb와 같은 크기 | |
compression |
best, default, fast, none | |
depth |
0 - 50 | |
directory_entries |
참 또는 거짓 | |
password |
암호(평문) | |
encryption |
aes-128, aes-192, aes-256, none, zipcrypto |
설정이 받는 범위를 벗어난 값은 설정, 허용 범위, 대신 쓸 값을 알려 주는 메시지와 함께 거부됩니다. 알 수 없는 설정도 오류이며 조용히 기본값이 되는 일은 없습니다. 조용히 받아들여진 오타는 잘못된 설정의 파일과, 통과하면 안 되는 테스트가 왜 통과하는지 고민하는 한 시간을 낳습니다.
가지고 있는 빌드에서 한 형식이 정확히 무엇을 받는지 보려면 tfg formats <id>를 실행하세요.
아카이브에는 실제 파일이 들어 있습니다
targz와 zip는 빈
껍데기로 두지 않고 항목으로 채울 수 있습니다. 생성된 아카이브는 담았다고 하는 문서를 실제로 담고 있으므로, 테스트 중에 이를 푸는 것은 무엇이든 안에서 실제 파일을
찾습니다.
targets:
- id: bundle
format: zip
contains:
- format: txt
count: 200
size: 4kb