gpt4 book ai didi

iphone - unhexlify 在 objective-c

转载 作者:行者123 更新时间:2023-11-28 22:07:43 30 4
gpt4 key购买 nike

是否有类似 Python 的 unhexlify 用于 objc/cocoa 的东西?

>>> from binascii import unhexlify>>> help(unhexlify)Help on built-in function unhexlify in module binascii:unhexlify(...)a2b_hex(hexstr) -> s; Binary data of hexadecimal representation.hexstr must contain an even number of hex digits (upper or lower case).This function is also available as "unhexlify()">>> unhexlify('abc123d35d')'\xab\xc1#\xd3]'

最佳答案

编辑:我没有理解 unhexlify 的作用。我仍然不明白为什么它可能有用(评论者?)。

您必须一次选择两个十六进制字符,将它们转换为 int,然后吐出字符。

char *hex = "abc123d35d";

NSData *data = [NSData dataWithBytesNoCopy:hex length:strlen(hex)];

NSInputStream *input = [NSInputStream inputStreamWithWithData:data];
NSOutputStream *output = [NSOutputStream outputStreamToMemory];

[input open];
[output open];

uint8_t buffer[2], result;

while ([input hasBytesAvailable]) {
[input read:buffer maxLength:2];

if (sscanf(buffer, "%x", &result) != 1)
// die

if (![output hasSpaceAvailable])
// die

[output write:&result length:1];
}

[input close];
[output close];

id output = [output propertyForKey:NSStreamDataWrittenToMemoryStreamKey];

只有当您读取大量数据时,此解决方案才会真正有用。

但正如其他人所说,可能有更好的方法来完成您正在尝试做的事情,并且不涉及 unhexlify。打个比方,没有内置的方法来读取 YAML 文件,但读取 plist 是一种单行代码,它们都可以做大致相同的事情。

关于iphone - unhexlify 在 objective-c ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1870475/

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