0

我试图弄清楚 IA5STRING 格式(ASN.1)是否实际上等同于 ASCII。也就是说,我应该能够做到:

NSString *ia5StringWithDate = [[NSString alloc] initWithBytes:is5StringData length:is5StringLength encoding:NSASCIIStringEncoding];

这是上下文:

我正在使用这个苹果文档 和 WWDC 2013 会议“使用收据保护您的数字销售”。

我已经完成了大部分代码(尚未测试!),但在尝试实际提取收据的应用内购买部分时,应用内购买收据字段购买日期被描述为 RFC 3339 日期. 鉴于我有一个 RFC 3339 日期作为 NSString,我想我有一种方法可以将 NSString 日期转换为 NSDate(请参阅如何格式化将字符串 2013-01-27T02:31:47+08:00 转换为日期)。但是,购买日期的格式为 IA5STRING(请参阅此参考资料)。

IA5STRING 的 Wiki 页面上,它说“这些字符通常相当于 ASCII 字母表的前 128 个字符”。我不喜欢“一般”的声音。

此参考表明 IA5STRING 与 ASCII 相同。

想法?

谢谢,克里斯。

4

1 回答 1

3

ASN.1 IA5String 的字符集是 Unicode 的前 128 个字符。这相当于美国 ASCII。具体细节可见 ITU-T Rec. X.680 定义了 IA5String 类型。

于 2013-10-17T20:36:14.717 回答