iOS BCD编码




inline static NSData* encodeBCD(NSString *value){
	
	//NSString *value = @"123456";
	NSMutableData *vdata = [[NSMutableData alloc] init];
	__uint8_t bytes[1] = {6};
	[vdata appendBytes:&bytes length:1];
	
	NSRange range;
	range.location = 0;
	range.length = 1;
	for (int i = 0; i < [value length];) {
		
		range.location = i;
		NSString *temp = [value substringWithRange:range];
		int _intvalue1 = [temp intValue];
		_intvalue1 = _intvalue1 << 4;
		
		range.location = i + 1;
		temp = [value substringWithRange:range];
		int _intvalue2 = [temp intValue];
		int intvalue = _intvalue1 | _intvalue2;
		bytes[0] = intvalue;
		[vdata appendBytes:&bytes length:1];
		
		i += 2;
	}
	
	bytes[0] = 255;
	[vdata appendBytes:&bytes length:1];
	bytes[0] = 255;
	[vdata appendBytes:&bytes length:1];
	bytes[0] = 255;
	[vdata appendBytes:&bytes length:1];
	bytes[0] = 255;
	[vdata appendBytes:&bytes length:1];
	
	return [vdata autorelease];
	
}


iOS BCD编码,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。