(Objective-C) Decode 2-digit Hex Escaped
Demonstrates how to replace escaped us-ascii chars such as \x7b and \x22 with the chars.
#import <NSString.h>
#import <CkoStringBuilder.h>
// We have the following string with some us-ascii chars escaped like this:
NSString *s = @"\x7b\x22responseContext\x22:\x7b\x22";
// Note: The above escaping does not conform to any standard format (as far as I know).
// Chilkat does not have anything to decode from the above.
// However, we can 1st transform into a standard format, and then decode..
// JSON escapes chars outside us-ascii like this: "Hello, \ud83d\ude03!"
// We can transform the above to this: "\u007b\u0022responseContext\u0022:\u007b\u0022"
// And then decode..
CkoStringBuilder *sb = [[CkoStringBuilder alloc] init];
[sb Append: s];
int numReplaced = [[sb Replace: @"\\x" replacement: @"\\u00"] intValue];
// Now decode from "json" escapes
[sb Decode: @"json" charset: @"utf-8"];
// Show the decoded string
NSLog(@"%@",[sb GetAsString]);
// Here's the result: {"responseContext":{"
|