我需要一些帮助来将这些代码从Python翻译成Objective C(对于iOS)。在
我知道如何用C创建套接字,但也许有一种最优雅的方法可以用cocoa类(NSStream?)在
chr(0x00)和b64encode的等价物是什么?在
如果你们对Python和Objective有一定的了解,谢谢你们的帮助!在
new = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
new.connect((dst, 55000))
msg = chr(0x64) + chr(0x00) +\
chr(len(base64.b64encode(src))) + chr(0x00) + base64.b64encode(src) +\
chr(len(base64.b64encode(mac))) + chr(0x00) + base64.b64encode(mac) +\
chr(len(base64.b64encode(remote))) + chr(0x00) + base64.b64encode(remote)
pkt = chr(0x00) +\
chr(len(app)) + chr(0x00) + app +\
chr(len(msg)) + chr(0x00) + msg
new.send(pkt)
此代码是一个有效的翻译。它当然可以改进,欢迎您的评论,但它工作得很好,完全像Python代码所做的那样。在
插座部分:
^{pr2}$和base64的include来自:https://github.com/nicklockwood/Base64
这是部分答案。它没有解决你关于套接字的问题,因为这是我在objective-c中没有经验的领域
至于你的另外两个问题:
什么是
chr(0x00)
的等价物?chr(0x<num>)
的等价物就是'0xnum'
。例如chr(0x00)
变成{b64encode的等价物是什么?
好吧,似乎没有办法像python那样开箱即用。但是,有一个entry for this on the SO wiki,它指向this article。本文的末尾有一些源代码的链接,您应该可以按原样使用这些源代码。它的工作原理是使用categories向
NSData
添加方法,这将允许您对base64字符串进行编码/解码。在相关问题 更多 >
编程相关推荐