gpt4 book ai didi

python - 如何在 ObjC 中声明原始二进制/十六进制数据以及如何在参数中传递它?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:06 26 4
gpt4 key购买 nike

这是我在 Python 中的内容:

ourAddr = Binary('\x4c\x6f\x8c')

我需要在 ObjC 中声明它,然后将它传递给在另一台服务器上运行的 python 脚本。

这就是我一直在尝试的方式:

char *addr = "\x4c\x6f\x8c";

NSArray *hex = [NSArray arrayWithObjects: [NSNumber numberWithChar: addr], nil];
[waitOnEvent setMethod:@"waitOnEvent" withObjects: hex];

但我收到回复:“提供了非许可地址”,这让我认为它没有正确看到“addr”变量。任何建议将不胜感激。

提前致谢!

编辑:

我已通过执行以下操作将其作为字符串发送:

NSString *const hex = @"4c6f8c"

NSArray *pass = [NSArray arrayWithObjects:hex, nil];

NSString *server = @"http://192.168.0.x:8080";
XMLRPCRequest *waitOnEvent = [[XMLRPCRequest alloc] initWithHost:[NSURL URLWithString:server]];
[waitOnEvent setMethod:@"waitOnEvent" withObjects:pass];

这是我尝试传递该字符串时从服务器获得的信息:

16:23:08:448 INFO     http_server waitOnEvent(4c6f8c, )
16:23:08:470 INFO http_server 192.168.0.x:52982 - - "POST / HTTP/1.1" 200 458

16:23:08:477 INFO http_server <?xml version='1.0'?>
<methodResponse>
<fault>
<value><struct>
<member>
<name>faultCode</name>
<value><int>1</int></value>
</member>
<member>
<name>faultString</name>
<value><string>&lt;type 'exceptions.RuntimeError'&gt;:Non-licensed address provided</string></value>
</member>
</struct></value>
</fault>
</methodResponse>

最佳答案

您是否尝试将数据作为 ASCII/UTF-8 编码的十六进制字符串或原始二进制数据发送?

如果是后者,你可以做以下操作(我已经相应地使用了你的代码):

const char addr[] = {0x4c, 0x6f, 0x8c};
NSData *data = [NSData dataWithBytes:addr length:sizeof(addr)];
NSArray *array = [NSArray arrayWithObject:data];
[waitOnEvent setMethod:@"waitOnEvent" withObjects:array];

关于python - 如何在 ObjC 中声明原始二进制/十六进制数据以及如何在参数中传递它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6752139/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com