我们系统使用的一般文件格式有png、jpg、jpeg、GIF、TIFF 等格式;

   图片是我们开发过程中最常见的东西,一般每个公司都会有自己的文件服务器,客户端人员都会从文件服务器中获取相关的图片信息;然而作为文件服务器的开发一般存储文件时经常是不会带图片的文件格式; 即命名一般以md5格式存储,即:42550328686bbe4489a8fb415c734e4f 为目录格式

   那么在这里我们稍微说下在iOS中是如何判定图片格式的。在获取服务器图片的时候,我们都可以得到NSData 数据;其实在图片所有格式中,NSData第一个字节代表了图片格式,具体代码如下:

 //UIImage转换为NSData (或者直接网络请求,这里只是demo)
 NSData *imageData = UIImagePNGRepresentation(aimae);
    uint8_t c;
   [self getBytes:&c length:1];

 switch (c) {
        case 0xFF:
            return  @“JPEG”;
        case 0x89:
            return @“PNG”;
        case 0x47:
            return @“GIF”;
        case 0x49:
        case 0x4D:
            return @“TIFF”;
        case 0x52:
            // R as RIFF for WEBP
            if ([self length] < 12) {
                return @“Unknown”;
            }
            
            NSString *testString = [[[NSString alloc] initWithData:[self subdataWithRange:NSMakeRange(0, 12)] encoding:NSASCIIStringEncoding] uppercaseString];
            if ([testString hasPrefix:@"RIFF"] && [testString hasSuffix:@"WEBP"]) {
                return@“WebP”;
            }
            
            return “Unknown”;
    }