AVMetadataMachineReadableCodeObject的编码

时间:2015-01-23 03:46:10

标签: ios objective-c

我想使用AVCaptureSession扫描QR码。在AVCaptureMetadataOutput的委托中,我可以获得名为qrCodeObject的AVMetadataMachineReadableCodeObject并通过[qrCodeObject stringValue]获取字符串。我想QR码的图像是用UTF8解码的,但如果QR码的串是其他编码,那就是乱码文本,比如Big5。

我试过了:

NSData *data = [qrCodeObject.stringValue dataUsingEncoding:NSUTF8StringEncoding];
NSStringEncoding encBig5 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5);
NSString *correctString = [[NSString alloc] initWithData:data encoding:encBig5];
NSLog(@"%@", correctString);

但它仍然是乱码。

任何想法?感谢。

我试过了:

NSStringEncoding encBig5 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5);
NSLog(@"%@ is ァAヲn", qrCodeObject.stringValue);
NSLog(@"%@ is <efbda741 efbda66e efbdb26e efbdb0ef bdb7>", [qrCodeObject.stringValue dataUsingEncoding:NSUTF8StringEncoding]);
NSLog(@"%@ is 嚚你嚚好嚚爽嚚堆蔆", [[NSString alloc] initWithData:[qrCodeObject.stringValue dataUsingEncoding:NSUTF8StringEncoding] encoding:encBig5]);
NSLog(@"%@ is (null)", [qrCodeObject.stringValue dataUsingEncoding:encBig5]);

0 个答案:

没有答案