Iphone 是否将哈希转换为NSString?

Iphone 是否将哈希转换为NSString?,iphone,ios,objective-c,cocoa-touch,nsstring,Iphone,Ios,Objective C,Cocoa Touch,Nsstring,使用EvernoteAPI,我有一个对象,它有一个名为hash的整数属性。对于我正在查看的特定对象,这等于: <f5b5444b 33e740b7 f9d49a3b ddb6a39c> 给我这个: 530049088 如何将哈希值正确地转换为NSString?当您看到输出为“”的内容时,它是记录NSData对象(NSLog(@“%@”,myDataObject);)的结果。所以我相信你拥有的不是一个nsuiger,而是一个NSData*对象 没有用于在字符串和数据之间转换的内置方

使用EvernoteAPI,我有一个对象,它有一个名为
hash
的整数属性。对于我正在查看的特定对象,这等于:

<f5b5444b 33e740b7 f9d49a3b ddb6a39c>
给我这个:

530049088

如何将哈希值正确地转换为NSString?

当您看到输出为“”的内容时,它是记录NSData对象(
NSLog(@“%@”,myDataObject);
)的结果。所以我相信你拥有的不是一个
nsuiger
,而是一个
NSData*
对象

没有用于在字符串和数据之间转换的内置方法,您需要在代码中进行转换:

- (NSString *)dataToString:(NSData *)data
{
    NSUInteger len = [data length];
    NSMutableString *str = [NSMutableString stringWithCapacity:len*2];
    const uint8_t *bptr = [data bytes];

    while(len--) [str appendFormat:@"%02.2x", *bptr++];

    return str;
}

如果这样做有效,您可以根据需要编写自己的stringToData方法,与上述方法相反。

当您看到输出为“”时,它是记录NSData对象的结果(
NSLog(@“%@”,myDataObject);
)。所以我相信你拥有的不是一个
nsuiger
,而是一个
NSData*
对象

没有用于在字符串和数据之间转换的内置方法,您需要在代码中进行转换:

- (NSString *)dataToString:(NSData *)data
{
    NSUInteger len = [data length];
    NSMutableString *str = [NSMutableString stringWithCapacity:len*2];
    const uint8_t *bptr = [data bytes];

    while(len--) [str appendFormat:@"%02.2x", *bptr++];

    return str;
}

如果这样做有效,您可以根据需要编写自己的stringToData方法,与上述方法相反。

eeeeuuuughhh。。。您使用的是128位机器吗?或者一个
NSInteger
怎么能占用16个字节?你想要这个:?@Vin看起来是这样的。剩下的问题是它是一个整数,我所拥有的。如何将其转换为
const void*
noteResource
是一个
NSData
对象,而
noteResource.hash
是一些散列值(整数)。“将哈希值正确转换为NSString”是什么意思?为什么要转换为常量void*?你希望得到什么结果?嗯。。。您使用的是128位机器吗?或者一个
NSInteger
怎么能占用16个字节?你想要这个:?@Vin看起来是这样的。剩下的问题是它是一个整数,我所拥有的。如何将其转换为
const void*
noteResource
是一个
NSData
对象,而
noteResource.hash
是一些散列值(整数)。“将哈希值正确转换为NSString”是什么意思?为什么要转换为常量void*?你期望得到什么结果?