这是我的MD5问题的另一个问题.我知道问题是ASCII字符©(0xa9,169).要么是我将字符插入字符串的方式,要么是高字节和低字节问题.
如果我
NSString *source = [NSString stringWithFormat:@"%c", 0xa9];
NSData *data = [source dataUsingEncoding:NSASCIIStringEncoding];
NSLog(@"\n\n ############### source %@ \ndata desc %@", source, [data description]);
CC_MD5([data bytes], [data length], result);
return [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]
];
Run Code Online (Sandbox Code Playgroud)
结果:
######### source©[数据描述] =(null)
md5:d41d8cd98f00b204e9800998ecf8427e
值:int 169 char©
当我将编码更改为
NSData *data = [NSData dataWithBytes:[source UTF8String] length:[source length]];
Run Code Online (Sandbox Code Playgroud)
结果是
######### source©[数据描述] ="<"c2>
md5:6465dad1d31752be3f3283e8f70feef7
当我将编码更改为
NSData *data = [NSData dataWithBytes:[source UTF8String] …Run Code Online (Sandbox Code Playgroud) 我有一个NSData与Base 64的图像解码.我想在UIImage中转换这些数据,但....
NSData * data = [[NSData alloc] initWithContentsOfFile:@"/Users/.../Library/Caches/images/david.txt"];
UIImage * i = [[UIImage alloc] initWithData:data];
NSLog(@"%@",i);
NSData *datai = UIImagePNGRepresentation(i);
UIImage * i2 = [[UIImage alloc] initWithData:datai];
imagen = [[UIImageView alloc] initWithImage:i2];
[imagen setFrame:CGRectMake(0, 0, 320, 480)];
Run Code Online (Sandbox Code Playgroud)
imagen - >变量
我知道数据中的内容是正确的,但在我的控制台中:
[Session started at 2011-08-24 20:44:25 +0200.]
2011-08-24 20:44:30.579 P[50194:207] (null)
Run Code Online (Sandbox Code Playgroud)
我用这个Objective C代码解码了:
- (NSData *)base64DataFromString: (NSString *)string
{
unsigned long ixtext, lentext;
unsigned char ch, inbuf[3], outbuf[4];
short i, ixinbuf;
Boolean flignore, flendtext = false;
const unsigned char …Run Code Online (Sandbox Code Playgroud) 我将网页转换为pdf文件.我做了以下,
NSString *string=[NSString stringWithFormat:@"%@.pdf",[chapersArray objectAtIndex:pageIndex]];
[controller1 addAttachmentData:pdfData mimeType:@"application/pdf" fileName:string];
[self presentModalViewController:controller1 animated:YES];
[controller1 release];
Run Code Online (Sandbox Code Playgroud)
现在我如何将我的NSData转换为pdf并保存在我的应用程序内存中?请帮我提供示例代码或建议.谢谢大家.
我试图通过使用AFImageCache来缓存从URL加载的一些图像,但没有成功...我不确定如果我做错了什么并且如果你曾经使用过这个库就会喜欢你的意见.
我从NSURLRequest获取图像,然后按如下方式缓存它
UIImage *img; //This image is a png icon returned from the server
NSData *imgData = UIImagePNGRepresentation(img); // Always checking length to make sure its more than 0, and it is
[[AFImageCache sharedImageCache] cacheImageData: imgData
forURL: myURL
cacheName: @"IconCache"];
Run Code Online (Sandbox Code Playgroud)
在下一次运行中,我将尝试检查图像是否已缓存,但nil由于某种原因总是会得到.
UIImage *myIcon = [[AFImageCache sharedImageCache] cachedImageForURL: myURL cacheName: @"IconCache"];
NSLog("%@", myIcon); // output (null)
Run Code Online (Sandbox Code Playgroud)
有关于此的任何想法或想法?谢谢.
我正在尝试将UIImage添加到HTML电子邮件中,但是我遇到了问题.我已经浏览了很多其他帖子,他们都声明我需要将我转换NSData为base64,但是他们所建议的方法似乎不再存在(除非我遗漏了什么?!).
这是我到目前为止的代码:
UIImage *mapImage = [mapViewController convertMapToImage];
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(mapImage)];
NSString *base64String = // [imageData base64EncodedString]; --- this method isn't recognised
Run Code Online (Sandbox Code Playgroud)
请有人帮帮我吗?
我试图从NSData获取NSMutableArray 16个字节,但没有这样做.也许任何人都可以指出我正确的方向.
示例:输入: <c4ebc39d edf81fe6 09e0a41a 34b4d20d c4ebc39d edf81fe6 09e0a41a 34b4d20d>
输出: <c4ebc39d edf81fe6 09e0a41a 34b4d20d> <c4ebc39d edf81fe6 09e0a41a 34b4d20d>
我这样想:
NSMutableArray *blocks = [[NSMutableArray alloc]init];
for (NSUInteger i = 0; i <= [data length]; i=i+16) {
unsigned char *byte = NULL;
[data getBytes:byte range:NSMakeRange(i, 16)];
NSData *temp = [[NSData alloc] initWithBytes:byte length:sizeof(byte)];
[blocks addObject:temp];
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这会抛出我的exc_bad_access.
我使用下面的方法从URL获取数据,但是如果statusCode不等于200 ,我想让它返回错误.
+ (NSData *)getData:(NSString *) url {
NSURL *urlNS = [[NSURL alloc] initWithString:url];
NSURLRequest * urlRequest = [NSURLRequest requestWithURL:urlNS];
NSError * error = nil;
NSHTTPURLResponse* urlResponse = nil;
NSData * data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&urlResponse error:&error];
int statusCode = [urlResponse statusCode];
if(statusCode == 200) {
return data;
} else {
//return the error object which is not NSData or which is converted to NSData
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题
我可以以某种方式在非NSData对象中返回我的错误(它将是上面定义的错误变量),或者我可以将我的错误转换为NSData吗?
在iOS应用中,我有一个NSData对象,它是一个JPEG文件,需要将其调整为给定的分辨率(2048x2048),并且需要将JPEG质量设置为75%。需要在将EXIF数据保留在文件中的同时进行设置。该照片不在相机胶卷中-它是从DSLR相机通过网络拉出的,只是与应用程序临时存储在一起。如果图像通过UIImage行程,则EXIF数据将丢失。如何在不丢失EXIF的情况下执行调整大小和设置质量?还是有一种方法可以在转换前剥离EXIF数据,并在完成后将其添加回去?
我试图简单地从网址获取jpeg图像但是当使用NSData时,contentsOfUrl返回nil.
let aString = "http://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-xfp1/t31.0-8/q88/s720x720/10848858_907722502601079_2834541930671169073_o.jpg"
let url = NSURL(fileURLWithPath: aString)
let data = NSData(contentsOfURL: url!)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?