【发布时间】:2012-04-20 10:16:57
【问题描述】:
当我扫描条形码时,如果它是 Equal=2,我会得到一些值,那么我需要用 == 显示,如果它是 Equal= 3 那么我需要用 = 显示,如果值为 4 则无效。
但是扫描条码是整数值——当使用NSASCII解码时,它只显示直到值127,之后它显示无效结果。例如:如果我的 Barcode 值 = 9699 结果值 =jem 那么我添加的结果值 =jem= actualstring value=%åasc 仅值 id显示37
这是我的代码:
- (void) readerView:(ZBarReaderView *)view didReadSymbols:(ZBarSymbolSet *)syms fromImage:(UIImage *)img
{
// do something useful with results -- cool thing is that you get access to the image too
for (ZBarSymbol *symbol in syms) {
[resultsBox setText:symbol.data];
if ([resultsBox.text length] == 2) {
addedresult.text = [resultsBox.text stringByAppendingString:@"=="];
} else if ([resultsBox.text length] == 3) {
addedresult.text = [resultsBox.text stringByAppendingString:@"="];
} if ([resultsBox.text length] >= 4) {
addedresult.text = @"Invalid";
}
[Base64 initialize];
NSString *myString = [[NSString alloc]initWithString:addedresult.text];
NSData * data = [Base64 decode:myString];
NSString * actualString = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"%@",actualString);
labeltext.text= actualString;
int asc = [actualString characterAtIndex:0];
label.text = [NSString stringWithFormat:@"%d", asc];
[actualString release];
break;
}
}
【问题讨论】:
-
你试过
NSUTF8StringEncoding吗? -
我试过了,即使它显示相同的值...如果它是 NSUTF8Encoding 它甚至不会显示特殊字符..请帮助!!!
-
找到解决方案了吗?
标签: ios nsstring barcode-scanner unsigned-integer zbar-sdk