标签: nsdata

18
推荐指数
3
解决办法
9805
查看次数

从NSData创建NSString时猜测编码

NSString从我可以使用的文件中读取时initWithContentsOfFile:usedEncoding:error:,它会猜测文件的编码.

当我从一个创建它时,NSData我唯一的选择是initWithData:encoding:我必须显式传递编码.当我使用NSData而不是文件时,如何可靠地猜测编码?

cocoa cocoa-touch nsdata

18
推荐指数
2
解决办法
6245
查看次数

如何将NSNumber转换为NSData?

我需要通过GameKit传输一个整数,sendDataToAllPeers:withDataMode:error:但我不知道如何将我的NSNumber转换为NSData以便发送.我目前有:

NSNumber *indexNum = [NSNumber numberWithInt:index];
[gkSession sendDataToAllPeers:indexNum withDataMode:GKSendDataReliable error:nil];
Run Code Online (Sandbox Code Playgroud)

但很明显,在我发送之前,indexNum需要转换为NSData.有人知道怎么做吗?

谢谢!

iphone objective-c nsdata gamekit ios

18
推荐指数
2
解决办法
2万
查看次数

使用ALAssetsLibrary和ALAsset取出Image作为NSData

我希望以NSData对象的形式直接使用ALAssetsLibrary和ALAsset提取图像.

使用NSURL我以下列方式取出图像.

NSURL *referenceURL =newURL;
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:referenceURL resultBlock:^(ALAsset *asset)
{
     UIImage  *copyOfOriginalImage = [UIImage imageWithCGImage:[[asset defaultRepresentation] fullResolutionImage]];
}
Run Code Online (Sandbox Code Playgroud)

现在我们将图像作为UIImage,但我需要将图像直接作为NSData.

我希望这样做是因为(我已经读过)一旦你在UIImage中拍摄图像,那么我们就会丢失图像的所有EXIF细节.

这就是我想直接将图像提取为NSData的原因,而不是这样做

NSData *webUploadData=UIImageJPEGRepresentation(copyOfOriginalImage, 0.5);
Run Code Online (Sandbox Code Playgroud)

这一步让我失去了所有的EXIF细节.

请帮忙.

iphone exif uiimage nsdata uiimagejpegrepresentation

18
推荐指数
1
解决办法
1万
查看次数

将UIImage转换为NSData并使用核心数据保存

UIImageView的图像是通过设置的UIImagePicker

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
    [picker dismissViewControllerAnimated:YES completion:nil];
    self.gImage.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
}
Run Code Online (Sandbox Code Playgroud)

我"尝试"将此图像转换为NSData核心数据并将其保存:

NSData *imageData = UIImagePNGRepresentation(self.gImage.image);
NSString *savedData = [[NSString alloc]initWithData:imageData encoding:NSUTF8StringEncoding];

//am is a pointer to my entities class. imageData is just a NSString attribute
am.imageData = savedData;

NSError *error;
if (![self.managedObjectContext save:&error]) {
    //Handle Error
} else {
    [self dismissViewControllerAnimated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试将图像加载到一个单独的文件中:

self.cell.gImage.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:self.myEntity.imageData]]];
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这不起作用.任何帮助是极大的赞赏!

core-data objective-c nsdata ios

18
推荐指数
2
解决办法
5万
查看次数

如何通过数据大小缩小IOS中的UIImage

我期待缩减一个UIImageiOS.

我已经看到了下面的其他问题以及他们如何按尺寸缩小图像的方法. 调整图像大小Objective-C
如何在iphone中以objective-c编程调整图像
大小调整UIImage大小的最简单方法?

这些问题都是基于将图像重新调整为特定大小.在我的情况下,我希望根据最大尺寸重新调整/缩小图像.

例如,我想将最大NSData大小设置为500 KB.我知道我可以像这样得到图像的大小://检查返回图像的大小

NSData *imageData = UIImageJPEGRepresentation(image, 0.5);

// Log out the image size
NSLog(@"%lu KB",(imageData.length/1024));
Run Code Online (Sandbox Code Playgroud)

我想做的是这里的某种形式的循环.如果尺寸大于我设置的最大尺寸,我想稍微缩小图像,然后检查尺寸.如果尺寸仍然太大,则再次缩小,然后再次检查,直到它低于最大设定尺寸.

我不确定最好的办法是什么.理想情况下,我不希望始终将图像缩小到特定大小,但每次只能略微缩小图像.这样我可以拥有最大的(大小w/h)图像本身和最大尺寸(字节).如果我一次只略微缩小,那么最好的方法是什么呢?

编辑 要确认,我希望重新调整实际图像的大小,但重新调整图像的大小,使其小于最大NSData长度.例如: -
检查NSData长度
-If高于我想要将UIImage传递给方法 的最大值 - 然后
循环通过此方法每次稍微调整实际图像大小
-Until它在最大NSData长度以下,然后返回图像?

objective-c uiimage nsdata ios ios6

18
推荐指数
2
解决办法
2万
查看次数

Swift结构化到NSData并返回

我有一个结构包含一个结构NSObject,我想序列化到一个NSData对象:

struct Packet {
  var name: String
  var index: Int
  var numberOfPackets: Int
  var data: NSData
}

var thePacket = Packet(name: name, index: i, numberOfPackets: numberOfPackets, data: packetData)
Run Code Online (Sandbox Code Playgroud)

我如何最好地将数据包序列化为一个NSData,以及如何最好地将其反序列化?

运用

var bufferData = NSData(bytes: & thePacket, length: sizeof(Packet))
Run Code Online (Sandbox Code Playgroud)

只给了我名字和数据的指针.我正在探索NSKeyedArchiver,但后来我必须使Packet成为一个对象,我宁愿保持它的结构.

干杯

serialization struct nskeyedarchiver nsdata swift

18
推荐指数
3
解决办法
2万
查看次数

从NSData计算iPhone上的校验和

使用iPhone SDK,我让用户从图像选择器中选择图像.如果用户选择之前选择的图像,我想让用户知道它.

我的初步计划(目的是确保其他工作正常)是将图像保存到文件(由于其他原因需要这样做),使用NSData的校验和作为文件名.然后,当他们稍后选择相同的图像时,校验和将是相同的,因此我可以看到具有该名称的文件已经存在 - 欢呼!

但是,我已经浏览了互联网和Apple文档,了解如何从NSData计算校验和.我知道我可以实现自己的实现,但如果可能的话,我宁愿避免这种情况.我也很高兴有关如何检查两个UIImages是否相同的其他想法.

编辑

两年前,我承诺了一个代码示例,就在这里.真的很抱歉延误!:)

+(NSString*)imageIdForData:(NSData*)data
{
        char* result = (char*) [[data MD5Sum] bytes];

        NSString* hash =  [NSString stringWithFormat: @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
                                           result[0], result[1],
                                           result[2], result[3],
                                           result[4], result[5],
                                           result[6], result[7],
                                           result[8], result[9],
                                           result[10], result[11],
                                           result[12], result[13],
                                           result[14], result[15]];

        return hash;
}
Run Code Online (Sandbox Code Playgroud)

iphone nsdata

17
推荐指数
2
解决办法
9788
查看次数

确定从文件加载的NSData的MIME类型

出于各种原因,我使用NSURLProtocol拦截http请求并从我的应用程序文档目录中的文件加载内容.部分过程涉及加载NSData对象,该对象可以是从html文件到jpeg图像的任何内容.NSURLProtocol需要设置mimetype.

iPhone-SDK中是否有API来确定文件或NSData内容的mimetype?

iphone objective-c nsdata mime-types

17
推荐指数
2
解决办法
2万
查看次数

如何将NSData转换为NSArray?

可能重复:
如何将NSArray转换为NSData?
需要将NSData转换为NSArray

HI,我有一个名为"myNsData"的NSData对象(它是NSArray的转换形式)和一个名为"myNsArray"的NSarray.任何人都可以为我提供一个代码来将NSData转换为NSArray吗?

iphone xcode objective-c nsdata nsarray

17
推荐指数
2
解决办法
4万
查看次数