joe*_*els 4 objective-c character-encoding nsstring
在PHP中,我可以调用base64_encode("\x00". $username. "\x00". $password),并且"\x00"表示NULL字符。
现在,在Objective-C中,我有一个将NSData转换为DaveDribin创建的base64编码的NSString的函数。
如何从具有NULL字符的字符串中创建数据?
这似乎不起作用...
NSData * authCode = [[NSString stringWithFormat:@"%c%@%c%@", '\0', self.username, '\0', self.password] dataUsingEncoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
像这样:
char bytes[] = "\0username\0password";
NSData * data = [NSData dataWithBytes:bytes length:sizeof(bytes)];
NSLog(@"%@", data);
Run Code Online (Sandbox Code Playgroud)
输出:
2010-01-22 09:15:22.546 app[6443] <00757365 726e616d 65007061 7373776f 726400>
Run Code Online (Sandbox Code Playgroud)
或来自NSString:
char bytes[] = "\0username\0password";
NSString * string = [[NSString alloc] initWithBytes:bytes length:sizeof(bytes) encoding:NSUTF8StringEncoding];
NSData * data = [string dataUsingEncoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
您可以在用户名/密码和结尾之间看到空字节的开头-因为char[]终止为空。
| 归档时间: |
|
| 查看次数: |
7889 次 |
| 最近记录: |