我认为我正在尝试使用Python测试的原始Apple应用商店收据。收据看起来像这样:
<30821e3b ... f1818d>
我认为这是需要转换为UTF-8字符串的原始十六进制。我在这里找到了目标C代码http://goobbe.com/questions/2824360/apple-in-app-purchase-verify-receipt,用它初始化一个String,如下所示:
NSString *receiptStr = [[NSString alloc] initWithData:transaction.transactionReceipt encoding:NSUTF8StringEncoding];
编写一行同样的python的任何帮助吗?
答案 0 :(得分:0)
如果它是原始十六进制字符串,您应该能够像这样解码它:
hex_string = '30821...'
utf8_string = hex_string.decode('hex').encode('utf8')
答案 1 :(得分:0)
如果您觉得由于某种原因需要使用ObjC代码中的Cocoa类,您可以选择install PyObjC(它在pip中),并进行非常直接的翻译:
from AppKit import *
receiptStr = NSString.alloc().initWithData_encoding_(transaction.transactionReceipt, NSUTF8StringEncoding)