gpt4 book ai didi

ios - 从NSString转换为NSData

转载 作者:行者123 更新时间:2023-12-01 17:40:58 25 4
gpt4 key购买 nike

假设我有一些这样的字符串:

NSString *someString = @"123";

然后,将这个字符串转换为NSData的实例,如下所示:
NSData *someData = [NSData dataWithBytes:[someString UTF8String] length:[someString length]];

据我了解,NSData本质上只是一个无编码的比特流。我的问题是:NSData是否通过检查length参数的值来确定每个UTF8String中有多少位?换句话说,[someString UTF8String]返回一个包含字符“123”的C字符串,[someString length]返回一个整数3。NSData是否理解每个字符都必须由8位组成?我完全错过了重点吗?

谢谢。

最佳答案

没有。

+ (id)dataWithBytes:(const void *)bytes length:(NSUInteger)length

此方法仅使用2个参数:指向内存中字节流的void指针和长度(应从该字节流中将多少个字节放入NSData对象中)。与其他任何方法一样,此方法没有任何线索,也不在乎,您如何获取此字节流,并且当然也不了解UTF8String,它仅关心与方法签名匹配的数据类型。

正如Matthias所说,关于如何确定字符串长度的想法也是错误的。为此使用strlen C函数。此函数在字符串终止时检查空字符\ 0。

关于ios - 从NSString转换为NSData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19853482/

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