Re: compressing an NSString
Re: compressing an NSString
- Subject: Re: compressing an NSString
- From: John Stiles <email@hidden>
- Date: Sat, 13 May 2006 12:06:37 -0700
Adam R. Maxwell wrote:
On May 13, 2006, at 10:10, Ondra Cada wrote:
On 13.5.2006, at 18:41, stephen rouse wrote:
I'm working on a cocoa app in which i'd like to compress a chunk of
xml (stored in an instance of NSString) before sending it over the
wire. Is there a recommended way to accomplish this?
I notice that zlib is installed as part of panther, so was thinking
that a category on NSString that made use of zlib would be a decent
approach, so i could call a method like
stringByCompressingString:options: or something similar.
I've never done this sort of thing before, so i thought i would
check here to see if:
a. this approach was wrong-headed.
b. something like this already exists somewhere.
Myself, I would launch bzip and pipe the data through it. YMMV, of
course.
Anyroad, if you are about to write this, I guess you want rather
compress NSData than NSStrings (adding perhaps just a convenience
NSString category which would convert self to NSData and then use the
compression).
OmniFoundation has an NSData category for compressing/decompressing
with gzip or bzip2. Seems to work quite well in my usage, but Ondra's
solution probably requires the least code.
Shelling out to a separate process is a pretty heavyweight operation and
will consume memory and time. Libbzip and libz are just simple, built-in
dylibs which your app can trivially link to. I'm guessing that
OmniFoundation's code is just an ObjC wrapper around these APIs.
(Personally, I'm familiar with the non-ObjC APIs; they are honestly
/very/ simple. It's only a couple of lines of code to compress or
decompress data.)+
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden