gpt4 book ai didi

objective-c - 如何在 NSString 中使用 NULL 字符?

转载 作者:搜寻专家 更新时间:2023-10-30 19:40:51 25 4
gpt4 key购买 nike

在 PHP 中,我可以调用 base64_encode("\x00". $username. "\x00". $password)"\x00" 代表一个 NULL性格。

现在,在 Objective-C 中,我有一个将 NSData 转换为 base64 encoded NSString 的函数由 DaveDribin 创建。

如何从包含 NULL 字符的字符串创建数据?

这似乎行不通...

NSData * authCode = [[NSString stringWithFormat:@"%c%@%c%@", '\0', self.username, '\0', self.password] dataUsingEncoding:NSUTF8StringEncoding];

最佳答案

像这样:

char bytes[] = "\0username\0password";
NSData * data = [NSData dataWithBytes:bytes length:sizeof(bytes)];

NSLog(@"%@", data);

输出:

2010-01-22 09:15:22.546 app[6443] <00757365 726e616d 65007061 7373776f 726400>

或者来自NSString:

char bytes[] = "\0username\0password";
NSString * string = [[NSString alloc] initWithBytes:bytes length:sizeof(bytes) encoding:NSUTF8StringEncoding];
NSData * data = [string dataUsingEncoding:NSUTF8StringEncoding];

您可以在开头、用户名/密码之间和末尾看到空字节 - 因为 char[] 以空结尾。

关于objective-c - 如何在 NSString 中使用 NULL 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2111766/

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