BZip2 压缩库的 Objective-C 接口
BZip2 是免费提供的,无专利,高质量的数据压缩器。它高度便携,而且所有 OS X 和 iOS 设备上都可用 C 库实现。
BZipCompression 是 BZip2 压缩库的简单 Objective-C 接口。它将 bz2 C 库的低级接口封装在一个简单、直观的 Objective-C 类中。
NSData
实例。NSData
实例压缩成 bzip2 表示形式。库实现为一个具有两个公共方法的静态接口:一个用于压缩,一个用于解压缩。
NSURL *compressedFileURL = [[NSBundle mainBundle] URLForResource:@"SomeLargeFile" withExtension:@".json.bz2"];
NSData *compressedData = [NSData dataWithContentsOfURL:compressedFileURL];
NSError *error = nil;
NSData *decompressedData = [BZipCompression decompressedDataWithData:compressedData error:&error];
NSData *stringData = [@"You probably want to read your data from a file or another data source rather than using string literals." dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSData *compressedData = [BZipCompression compressedDataWithData:stringData blockSize:BZipDefaultBlockSize workFactor:BZipDefaultWorkFactor error:&error];
BZipCompression 非常轻量级,没有直接依赖除 Cocoa 基础框架和 BZip2 库之外的任何内容。因此,可以简单地通过直接添加源代码并链接到 libbz2 来将其安装到任何 Cocoa 项目中。尽管如此,我们建议通过 CocoaPods 进行安装,因为它提供了模块化和易于管理的版本管理。
只需将 BZipCompression.h
和 BZipCompression.m
添加到您的项目中,并 #import "BZipCompression.h"
。
BZipCompression 使用单元测试匹配器库 Expecta 进行测试。为了运行测试,您必须做以下操作
pod install
open BZipCompression.xcworkspace
Blake Watters
BZipCompression 可在 Apache 2 许可证下使用。有关更多信息,请参阅 LICENSE 文件。