-
Notifications
You must be signed in to change notification settings - Fork 136
/
Copy pathenumerated-media-types.txt
233 lines (226 loc) · 15 KB
/
enumerated-media-types.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
# Enumerated Media Types
# ----------------------
#
# This is a curated list of about 200 common Media Types (also known as MIME
# Types). The official name, with variable length, is in the fourth column. A
# fixed length contraction, presented in 4/4/2 format, is in the third column.
# The base38 numeric encoding of that 4/4/2 string is in the first (hex) and
# second (decimal) columns. These positive numbers are all less than or equal
# to ((1<<53)-1), also known as Number.MAX_SAFE_INTEGER in JavaScript, and so
# generally safe to pass around as a JSON value, float64, int64 or uint64.
#
# As an int64 or uint64, the high 32 bits (of which only 21 are used) hold the
# top-level type: 0x09CC62 means "application", 0x106BF7 means "image", etc.
#
# Using fixed-size numbers instead of variable-length strings can be useful in
# file formats, wire protocols, database tables or other contexts where dynamic
# memory allocation is unavailable or fallible or where variable-length data
# complicates matters. At the micro-optimization level, comparing or hashing
# uint64 numbers is also faster than for arbitrary strings.
#
# Using a sparse enumeration (instead of the dense 1 = "application/epub+zip",
# 2 = "application/java-archive", etc) means that, when debugging or logging,
# the numerical value can be converted to a somewhat-human-readable form (the
# "appl/java/ar" 4/4/2 string) purely algorithmically, without a lookup table.
# Inserting new entries can also preserve the sortedness of the 4/4/2 form
# without requiring renumbering.
#
# When debugging, if the numerical value is all that you know, grepping a large
# codebase for 0x09CC62_880DB9BE or 2757998351858110 will also produce far
# fewer false positives than grepping for 2.
#
# The pua.example subtypes (e.g. for private use within a system that deals
# with "foobar.example" files) are an unofficial suggestion for entries not in
# the official IANA registry, similar to Unicode's Private Use Area. For a PUA
# entry's 4/4/2 string, the middle-4 starts with a "~" (and cannot be "~~~~")
# but the rest of the middle-4-right-2 is freeform.
#
# The official IANA Media Types registry:
# https://www.iana.org/assignments/media-types/media-types.xhtml
#
# A popular subset of that registry, with about 800 entries, as well as a
# mapping between Media Types (like "application/java-archive") and filename
# extensions (like ".jar"):
# https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
#
# This file (enumerated-media-types.txt) is canonically hosted in the doc/note
# directory of the github.com/google/wuffs repository. That same directory also
# holds a base38-and-fourcc.md file that elaborates on base38 encoding.
0x09CC62_6933B000 2757997834252288 appl/epub/.. application/epub+zip
0x09CC62_880DB9BE 2757998351858110 appl/java/ar application/java-archive
0x09CC62_880DBC67 2757998351858791 appl/java/so application/java-serialized-object
0x09CC62_880DBCD7 2757998351858903 appl/java/vm application/java-vm
0x09CC62_8B321000 2757998404571136 appl/json/.. application/json
0x09CC62_9C23B800 2757998688843776 appl/mate/.. application/mathematica
0x09CC62_9C23F800 2757998688860160 appl/matm/.. application/mathml+xml
0x09CC62_9F53D800 2757998742329344 appl/mswo/.. application/msword
0x09CC62_A9E37800 2757998919514112 appl/octe/.. application/octet-stream
0x09CC62_B0B24000 2757999033729024 appl/pdf./.. application/pdf
0x09CC62_B2B30000 2757999067332608 appl/post/.. application/postscript
0x09CC62_C0E9C000 2757999305801728 appl/rtf./.. application/rtf
0x09CC62_C664E000 2757999397756928 appl/smil/.. application/smil+xml
0x09CC62_CE584000 2757999531147264 appl/ttml/.. application/ttml+xml
0x09CC62_D86553E7 2757999699776487 appl/vand/pa application/vnd.android.package-archive
0x09CC62_D8681384 2757999699956612 appl/vapp/mp application/vnd.apple.mpegurl
0x09CC62_D9754B34 2757999717600052 appl/vgoe/kl application/vnd.google-earth.kml+xml
0x09CC62_D9754B42 2757999717600066 appl/vgoe/kz application/vnd.google-earth.kmz
0x09CC62_D9C13800 2757999722575872 appl/vicc/.. application/vnd.iccprofile
0x09CC62_DA1CBB29 2757999728573225 appl/vkde/ka application/vnd.kde.karbon
0x09CC62_DA1CBB2B 2757999728573227 appl/vkde/kc application/vnd.kde.kchart
0x09CC62_DA1CBB2E 2757999728573230 appl/vkde/kf application/vnd.kde.kformula
0x09CC62_DA1CBB31 2757999728573233 appl/vkde/ki application/vnd.kde.kivio
0x09CC62_DA1CBB37 2757999728573239 appl/vkde/ko application/vnd.kde.kontour
0x09CC62_DA1CBB38 2757999728573240 appl/vkde/kp application/vnd.kde.kpresenter
0x09CC62_DA1CBB3B 2757999728573243 appl/vkde/ks application/vnd.kde.kspread
0x09CC62_DA1CBB3F 2757999728573247 appl/vkde/kw application/vnd.kde.kword
0x09CC62_DA8851F9 2757999735624185 appl/vms./ca application/vnd.ms-cab-compressed
0x09CC62_DA88525C 2757999735624284 appl/vms./ex application/vnd.ms-excel
0x09CC62_DA8852CA 2757999735624394 appl/vms./ht application/vnd.ms-htmlhelp
0x09CC62_DA8853F5 2757999735624693 appl/vms./po application/vnd.ms-powerpoint
0x09CC62_DACDF9EE 2757999740189166 appl/voao/c. application/vnd.oasis.opendocument.chart
0x09CC62_DACDFA0C 2757999740189196 appl/voao/ct application/vnd.oasis.opendocument.chart-template
0x09CC62_DACDFA14 2757999740189204 appl/voao/d. application/vnd.oasis.opendocument.database
0x09CC62_DACDFA60 2757999740189280 appl/voao/f. application/vnd.oasis.opendocument.formula
0x09CC62_DACDFA7E 2757999740189310 appl/voao/ft application/vnd.oasis.opendocument.formula-template
0x09CC62_DACDFA86 2757999740189318 appl/voao/g. application/vnd.oasis.opendocument.graphics
0x09CC62_DACDFAA4 2757999740189348 appl/voao/gt application/vnd.oasis.opendocument.graphics-template
0x09CC62_DACDFAD2 2757999740189394 appl/voao/i. application/vnd.oasis.opendocument.image
0x09CC62_DACDFAF0 2757999740189424 appl/voao/it application/vnd.oasis.opendocument.image-template
0x09CC62_DACDFBDC 2757999740189660 appl/voao/p. application/vnd.oasis.opendocument.presentation
0x09CC62_DACDFBFA 2757999740189690 appl/voao/pt application/vnd.oasis.opendocument.presentation-template
0x09CC62_DACDFC4E 2757999740189774 appl/voao/s. application/vnd.oasis.opendocument.spreadsheet
0x09CC62_DACDFC6C 2757999740189804 appl/voao/st application/vnd.oasis.opendocument.spreadsheet-template
0x09CC62_DACDFC74 2757999740189812 appl/voao/t. application/vnd.oasis.opendocument.text
0x09CC62_DACDFC8B 2757999740189835 appl/voao/tm application/vnd.oasis.opendocument.text-master
0x09CC62_DACDFC92 2757999740189842 appl/voao/tt application/vnd.oasis.opendocument.text-template
0x09CC62_DACDFC95 2757999740189845 appl/voao/tw application/vnd.oasis.opendocument.text-web
0x09CC62_DADFCBF6 2757999741357046 appl/vopo/pp application/vnd.openxmlformats-officedocument.presentationml.presentation
0x09CC62_DADFCBF8 2757999741357048 appl/vopo/pr application/vnd.openxmlformats-officedocument.presentationml.slide
0x09CC62_DADFCBF9 2757999741357049 appl/vopo/ps application/vnd.openxmlformats-officedocument.presentationml.slideshow
0x09CC62_DADFCBFA 2757999741357050 appl/vopo/pt application/vnd.openxmlformats-officedocument.presentationml.template
0x09CC62_DADFCC6B 2757999741357163 appl/vopo/ss application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
0x09CC62_DADFCC6C 2757999741357164 appl/vopo/st application/vnd.openxmlformats-officedocument.spreadsheetml.template
0x09CC62_DADFCCF4 2757999741357300 appl/vopo/wd application/vnd.openxmlformats-officedocument.wordprocessingml.document
0x09CC62_DADFCD04 2757999741357316 appl/vopo/wt application/vnd.openxmlformats-officedocument.wordprocessingml.template
0x09CC62_DF1E4800 2757999812560896 appl/wasm/.. application/wasm
0x09CC62_E5514000 2757999916564480 appl/x7z./.. application/x-7z-compressed
0x09CC62_E5BCB800 2757999923607552 appl/xabi/.. application/x-abiword
0x09CC62_E5CD9227 2757999924711975 appl/xapp/di application/x-apple-diskimage
0x09CC62_E5F28000 2757999927132160 appl/xbit/.. application/x-bittorrent
0x09CC62_E605D800 2757999928399872 appl/xbz2/.. application/x-bzip2
0x09CC62_E61DF800 2757999929980928 appl/xche/.. application/x-chess-pgn
0x09CC62_E6477000 2757999932698624 appl/xdeb/.. application/x-debian-package
0x09CC62_E653B800 2757999933503488 appl/xdoo/.. application/x-doom
0x09CC62_E65BD800 2757999934035968 appl/xdvi/.. application/x-dvi
0x09CC62_E6DA1800 2757999942309888 appl/xgnu/.. application/x-gnumeric
0x09CC62_E70E1800 2757999945717760 appl/xhtm/.. application/xhtml+xml
0x09CC62_E73A1800 2757999948601344 appl/xiso/.. application/x-iso9660-image
0x09CC62_E7AC4000 2757999956082688 appl/xlat/.. application/x-latex
0x09CC62_E7E58000 2757999959834624 appl/xml./.. application/xml
0x09CC62_E7E5F000 2757999959863296 appl/xmld/.. application/xml-dtd
0x09CC62_E7EDD1BC 2757999960379836 appl/xms./ap application/x-ms-application
0x09CC62_E7EDD460 2757999960380512 appl/xms./sh application/x-ms-shortcut
0x09CC62_E7EE4000 2757999960408064 appl/xmsd/.. application/x-msdownload
0x09CC62_E8BAF000 2757999973822464 appl/xrar/.. application/x-rar-compressed
0x09CC62_E8EF8000 2757999977267200 appl/xsh./.. application/x-sh
0x09CC62_E8F04800 2757999977318400 appl/xsho/.. application/x-shockwave-flash
0x09CC62_E8FAE000 2757999978012672 appl/xsql/.. application/x-sql
0x09CC62_E9153000 2757999979737088 appl/xtar/.. application/x-tar
0x09CC62_E91A2000 2757999980060672 appl/xtex/.. application/x-tex
0x09CC62_E91A2277 2757999980061303 appl/xtex/fm application/x-tex-tfm
0x09CC62_E91A22EA 2757999980061418 appl/xtex/in application/x-texinfo
0x09CC62_E9E68000 2757999993454592 appl/xxz./.. application/x-xz
0x09CC62_F49B4000 2758000173072384 appl/zip./.. application/zip
0x09CC62_FAA35800 2758000274266112 appl/~exa/.. application/pua.example
0x09CC62_FE887DA3 2758000339615139 appl/~~~~/~~ application/*
0x09E6CB_1DE9D000 2787034845007872 audi/3gpp/.. audio/3gpp
0x09E6CB_4C087000 2787035618766848 audi/acc3... audio/ac3
0x09E6CB_4DDD6000 2787035649499136 audi/amr./.. audio/amr
0x09E6CB_4DDE6800 2787035649566720 audi/amrw/.. audio/amr-wb
0x09E6CB_52746800 2787035726505984 audi/basi/.. audio/basic
0x09E6CB_9D79D800 2787036985153536 audi/midi/.. audio/midi
0x09E6CB_9E86B000 2787037002772480 audi/mobx/.. audio/mobile-xmf
0x09E6CB_9EAA7000 2787037005115392 audi/mp4./.. audio/mp4
0x09E6CB_9EB6D800 2787037005928448 audi/mpeg/.. audio/mpeg
0x09E6CB_AA881000 2787037204189184 audi/ogg./.. audio/ogg
0x09E6CB_E5BB5800 2787038197405696 audi/xaac/.. audio/x-aac
0x09E6CB_E5C4F000 2787038198034432 audi/xaif/.. audio/x-aiff
0x09E6CB_E6A9F800 2787038213044224 audi/xfla/.. audio/x-flac
0x09E6CB_E7D96000 2787038232928256 audi/xmat/.. audio/x-matroska
0x09E6CB_E7EB3800 2787038234097664 audi/xmpu/.. audio/x-mpegurl
0x09E6CB_E7EDD4F1 2787038234268913 audi/xms./wa audio/x-ms-wax
0x09E6CB_E7EDD4FD 2787038234268925 audi/xms./wm audio/x-ms-wma
0x09E6CB_E8702000 2787038242807808 audi/xpnr/.. audio/x-pn-realaudio
0x09E6CB_E99CB000 2787038262505472 audi/xwav/.. audio/x-wav
0x09E6CB_FE887DA3 2787038613503395 audi/~~~~/~~ audio/*
0x0DF632_5B96B000 3929870842638336 font/coll/.. font/collection
0x0DF632_ACD18000 3929872205447168 font/otf./.. font/otf
0x0DF632_CE4F4000 3929872767336448 font/ttf./.. font/ttf
0x0DF632_E1866000 3929873089716224 font/woff/.. font/woff
0x0DF632_E1866072 3929873089716338 font/woff/2. font/woff2
0x0DF632_FE887DA3 3929873576394147 font/~~~~/~~ font/*
0x106BF7_4F695000 4622309560766464 imag/avif/.. image/avif
0x106BF7_548DC000 4622309647040512 imag/bmp./.. image/bmp
0x106BF7_754B2000 4622310196322304 imag/gif./.. image/gif
0x106BF7_8A8FD000 4622310553145344 imag/jp2./.. image/jp2
0x106BF7_8A9E9800 4622310554114048 imag/jpeg/.. image/jpeg
0x106BF7_8AB4A000 4622310555557888 imag/jpx./.. image/jpx
0x106BF7_8C0F6000 4622310578282496 imag/jxl./.. image/jxl
0x106BF7_921BE000 4622310679764992 imag/ktx./.. image/ktx
0x106BF7_B276B000 4622311222587392 imag/png./.. image/png
0x106BF7_C7F90000 4622311583449088 imag/svgx/.. image/svg+xml
0x106BF7_CC5F6000 4622311657267200 imag/tiff/.. image/tiff
0x106BF7_D859CBF9 4622311858228217 imag/vado/ps image/vnd.adobe.photoshop
0x106BF7_D8E88000 4622311867580416 imag/vdjv/.. image/vnd.djvu
0x106BF7_DC3704F2 4622311923057906 imag/vwap/wb image/vnd.wap.wbmp
0x106BF7_DFBEB000 4622311982280704 imag/webp/.. image/webp
0x106BF7_E7271800 4622312106563584 imag/xico/.. image/x-icon
0x106BF7_E87151B9 4622312128205241 imag/xpor/am image/x-portable-anymap
0x106BF7_E87151DF 4622312128205279 imag/xpor/bm image/x-portable-bitmap
0x106BF7_E871529D 4622312128205469 imag/xpor/gm image/x-portable-graymap
0x106BF7_E87153F3 4622312128205811 imag/xpor/pm image/x-portable-pixmap
0x106BF7_E91BC800 4622312139376640 imag/xtga/.. image/x-tga
0x106BF7_FAA35800 4622312433473536 imag/~exa/.. image/pua.example
0x106BF7_FE887DA3 4622312498822563 imag/~~~~/~~ image/*
0x13F426_4DB31800 5616469907019776 mult/alte/.. multipart/alternative
0x13F426_56B07800 5616470057842688 mult/byte/.. multipart/byteranges
0x13F426_6FB61800 5616470477641728 mult/form/.. multipart/form-data
0x13F426_9D917800 5616471246993408 mult/mixe/.. multipart/mixed
0x13F426_E7E30000 5616472493850624 mult/xmix/.. multipart/x-mixed-replace
0x13F426_FE887DA3 5616472873794979 mult/~~~~/~~ multipart/*
0x197816_59144800 7168911796881408 text/cacm/.. text/cache-manifest
0x197816_591EB800 7168911797565440 text/cale/.. text/calendar
0x197816_5C52D000 7168911851311104 text/css./.. text/css
0x197816_5C566000 7168911851544576 text/csv./.. text/csv
0x197816_7DF74000 7168912415735808 text/html/.. text/html
0x197816_880E4800 7168912585017344 text/javs/.. text/javascript
0x197816_9C218800 7168912921823232 text/mark/.. text/markdown
0x197816_B215E800 7168913290160128 text/plai/.. text/plain
0x197816_C0E9C000 7168913538924544 text/rtf./.. text/rtf
0x197816_CAF20800 7168913707239424 text/tabs/.. text/tab-separated-values
0x197816_CE8B9000 7168913767632896 text/turt/.. text/turtle
0x197816_D4AC0000 7168913870422016 text/uril/.. text/uri-list
0x197816_E6082000 7168914161672192 text/xc../.. text/x-c
0x197816_E7521000 7168914183294976 text/xjav/.. text/x-java-source
0x197816_E7E58000 7168914192957440 text/xml./.. text/xml
0x197816_E971A000 7168914218917888 text/xvcl/.. text/x-vcalendar
0x197816_E971D000 7168914218930176 text/xvcr/.. text/x-vcard
0x197816_FE887DA3 7168914572737955 text/~~~~/~~ text/*
0x1B384F_1DE9D000 7661736826621952 vide/3gpp/.. video/3gpp
0x1B384F_1DE9D072 7661736826622066 vide/3gpp/2. video/3gpp2
0x1B384F_9EAA7000 7661738986729472 vide/mp4./.. video/mp4
0x1B384F_9EB6D800 7661738987542528 vide/mpeg/.. video/mpeg
0x1B384F_AA881000 7661739185803264 vide/ogg./.. video/ogg
0x1B384F_BA681800 7661739452143616 vide/quic/.. video/quicktime
0x1B384F_DA85B800 7661739990956032 vide/vmpu/.. video/vnd.mpegurl
0x1B384F_DFBE9800 7661740078569472 vide/webm/.. video/webm
0x1B384F_E6AAA000 7661740194701312 vide/xflv/.. video/x-flv
0x1B384F_E7D96000 7661740214542336 vide/xmat/.. video/x-matroska
0x1B384F_E7E86800 7661740215527424 vide/xmng/.. video/x-mng
0x1B384F_E7EDD1BF 7661740215882175 vide/xms./as video/x-ms-asf
0x1B384F_E7EDD4FD 7661740215883005 vide/xms./wm video/x-ms-wm
0x1B384F_E7EDD506 7661740215883014 vide/xms./wv video/x-ms-wmv
0x1B384F_E7EDD508 7661740215883016 vide/xms./wx video/x-ms-wmx
0x1B384F_E7EDD52E 7661740215883054 vide/xms./xx video/x-ms-wvx
0x1B384F_E7EED000 7661740215947264 vide/xmsv/.. video/x-msvideo
0x1B384F_FE887DA3 7661740595117475 vide/~~~~/~~ video/*