gpt4 book ai didi

iphone - 将UInt32传递给NSData对象返回(空)

转载 作者:行者123 更新时间:2023-12-01 16:57:28 37 4
gpt4 key购买 nike

我正在尝试将NSNumber传递到正在工作的UInt32中。然后,我试图将UInt32填充到NSData对象中。但是,这在这里变得有些时髦...

当我尝试将NSData对象中的内容写成它返回的字符串(空)时。

这就是我的代码的样子,我认为这与我将CACHE_VALUE传递给requestCacheData的方式有关。但是我不太确定为什么。

// Use the correctly returned cache number
UInt32 CACHE_VALUE = [cacheNumber intValue];
NSLog(@"%lu", CACHE_VALUE); //gives me the correct integervalue
NSData * requestCacheData = [[NSData alloc] initWithBytes:&CACHE_VALUE length:sizeof(CACHE_VALUE)];

NSString *myString = [[NSString alloc] initWithData:requestCacheData encoding:NSUTF8StringEncoding];
NSLog(@"%@", myString); //outputs (null)

任何帮助,将不胜感激。

最佳答案

您不能将NSData转换为正确的NSString,即NSData不包含正确的字符串内容。

在您的情况下,您的NSData仅包含一个二进制unsigned int,

你想得到什么?

NSString* str= @"a NSString";
NSData* requestCacheData =[str dataUsingEncoding:NSUTF8StringEncoding];
NSString *myString = [[NSString alloc] initWithData:requestCacheData encoding:NSUTF8StringEncoding];
NSLog(@"%@", myString);

您可能会得到正确的输出,

但是如果您要将UINT转换为NSString

只是
NSString *str = [[[NSString alloc] initWithFormat:@"%u",CACHE_VALUE] autorelease];

关于iphone - 将UInt32传递给NSData对象返回(空),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10509766/

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