如何从字节中提取 MimeType[]
2022-09-01 17:33:49
byte[] data = ...
MagicMatch match = Magic.getMagicMatch(data);
String mimeType = match.getMimeType();
我确信@sfussenegger发布的库是最好的解决方案,但我通过以下片段手动完成,我希望它可以帮助您。
DESCONOCIDO("desconocido", new byte[][] {}), PDF("PDF",
new byte[][] { { 0x25, 0x50, 0x44, 0x46 } }), JPG("JPG",
new byte[][] { { (byte) 0xff, (byte) 0xd8, (byte) 0xff,
(byte) 0xe0 } }), RAR("RAR", new byte[][] { { 0x52,
0x61, 0x72, 0x21 } }), GIF("GIF", new byte[][] { { 0x47, 0x49,
0x46, 0x38 } }), PNG("PNG", new byte[][] { { (byte) 0x89, 0x50,
0x4e, 0x47 } }), ZIP("ZIP", new byte[][] { { 0x50, 0x4b } }), TIFF(
"TIFF", new byte[][] { { 0x49, 0x49 }, { 0x4D, 0x4D } }), BMP(
"BMP", new byte[][] { { 0x42, 0x4d } });
问候。
PD:最好的是它没有任何依赖性。PD2:不保证它的正确性!PD3:“desconocido”代表“未知”(西班牙语)