I ran into the problem the other day of having to encode a string using
CP037 encoding, to communicate with the server. This turned out to be tricky than I had hoped because
CP037 is not in the
NSStringEncoding enum list of encoding directly supported by
I did managed to find support for
kCFStringEncodingEBCDIC_CP037. I know that
CFString toll-free bridged data types so all I had to do was encode my
CFString encoding and I would have the value that I needed to send to the server.
NSString *stringThatNeedsToBeEncoded = @"randomString"; CFDataRef encodedStringAsCFData = CFStringCreateExternalRepresentation(CFAllocatorGetDefault(), (CFStringRef)stringThatNeedsToBeEncoded, kCFStringEncodingEBCDIC_CP037, 0); CFIndex bufferLength = CFDataGetLength(encodedStringAsCFData); UInt8 *buffer = malloc(bufferLength); CFDataGetBytes(encodedStringAsCFData, CFRangeMake(0, CFDataGetLength(encodedStringAsCFData)), buffer);
And inside buffer I had my byte array which I needed.
What do you think? Let me know by getting in touch on Twitter - @wibosco