我试图找出如果IA5STRING格式(ASN.1)实际上相当于ASCII。也就是说,我应该能够做到:IA5STRING ASN.1编码格式:在应用程序内购买收据验证和解码
NSString *ia5StringWithDate = [[NSString alloc] initWithBytes:is5StringData length:is5StringLength encoding:NSASCIIStringEncoding];
这里是上下文:
我从this apple doc 工作,并从2013 WWDC会议“使用收据来保护您的数字销售”。
我已经得到了大部分代码(未经测试!),但试图实际取出收据的应用内购买部分时,应用内购买收据字段购买日期被描述为一个RFC 3339日期。鉴于我有一个RFC 3339日期作为NSString,我想我有一个方法将NSString日期转换为NSDate(请参阅How to format convert the string 2013-01-27T02:31:47+08:00 into NSDate)。但是,购买日期的格式为IA5STRING (请参阅this reference)。
从the Wiki page for IA5STRING,它说:“这些角色通常等同于ASCII字母的第一个128个字符”。我不喜欢“普遍”的声音。
This reference表明IA5STRING的是相同的ASCII。
想法?
谢谢, 克里斯。
您不妨去看看我的类iOS的下做收货验证:https://github.com/rmaddy/VerifyStoreReceiptiOS – rmaddy
谢谢。这有助于。我看到你已经使用NSASCIIStringEncoding编码将IA5STRING日期转换为NSString。很高兴看到它的作品。是否有没有使用asn1c来生成ASN.1解析器的原因? –
我没有编写ASN解析器代码。我从我引用的其他项目中获得了这一点。 – rmaddy