`
lizaochengwen
  • 浏览: 660116 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用NSData玩转二进制文件的读写

 
阅读更多
#import <Foundation/Foundation.h>
 
int main (int argc, const char * argv[])
{
 
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
 
    NSString *path = @"/Users/billchen/Desktop/f1.rtf"; 
    NSString *temp = @"Hello Friend";
    int i = 100;
    float f = 98.3333f;
    NSMutableData *writer = [[NSMutableData alloc] init];
    [writer appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]];
    [writer appendBytes:&i length:sizeof(i)];//&表示取址
    [writer appendBytes:&f length:sizeof(f)];
    [writer writeToFile:path atomically:YES];
    [writer release];
     
    int ii;
    float ff;
    NSString *ttemp;
    NSData *reader = [NSData dataWithContentsOfFile:path];
    ttemp = [[NSString alloc]initWithData:[reader subdataWithRange:NSMakeRange(0, [temp length])] encoding:NSUTF8StringEncoding];
    [reader getBytes:&ii range:NSMakeRange([temp length], sizeof(ii))];
    [reader getBytes:&ff range:NSMakeRange([temp length] + sizeof(ii), sizeof(ff))];
    NSLog(@"string:%@ int:%i float:%f", ttemp, ii, ff);
    [temp release];
    [ttemp release];
    [path release];
 
    [pool drain];
    return 0;
}




引用
&用于取址,获取指针
NSMakeRange 用于生成NSRange

返回结果:

[Switching to process 13606 thread 0x0]
2011-05-09 13:24:04.962 demo09[13606:903] string:Hello Friend int:100 float:98.333298


原文:http://www.cnblogs.com/pengyingh/articles/2360358.html
分享到:
评论

相关推荐

    php接收二进制图片(ios、安卓上传图片)

    1. **iOS上传图片**:在iOS中,通常使用`NSData`对象来处理图片的二进制数据。通过`UIImageJPEGRepresentation`或`UIImagePNGRepresentation`方法,可以将`UIImage`对象转换为二进制数据,然后利用HTTP POST请求发送...

    NSData 与 NSString,Byte数组,UIImage 的相互转换

    首先,`NSData`是一个用于存储二进制数据的对象,它可以包含任何字节流,如图片数据、音频数据或序列化后的对象数据。在Objective-C中,`NSData`经常用于处理网络请求的数据或存储本地文件。 1. **NSData 转 ...

    NSData与NSDictionary、JSON数据类型相互转换

    在iOS开发中,NSData是一个非常重要的数据类型,它能够存储任意二进制数据。在本文中,我们将探讨如何使用NSData与其他类型,特别是NSDictionary和JSON数据进行转换。 首先,NSData允许开发者将各种数据类型(如...

    ios demo,NSData和NSString之间的相互转换的源代码

    1. **NSData转NSString**:通常使用`- initWithData:encoding:`或`+ stringWithData:encoding:`方法,其中encoding参数指定字符编码,如NSUTF8StringEncoding,以将二进制数据解析为字符串。例如: ```objective-c ...

    iOS NSData 详细使用说明

    在处理本地文件时,`NSData`提供了便捷的方法来读取或写入二进制文件。这在处理多媒体文件、配置文件或其他二进制资源时非常有用。 #### 3. 数据加密与解密 结合安全框架如CryptoKit或Security,`NSData`可用于...

    ios demo,NSData和NSDictionary之间的相互转换的实现案例

    NSData用于存储二进制数据,而NSDictionary则用于存储键值对的数据结构。在实际应用中,我们常常需要将这两种类型进行相互转换,以便于数据的存储、传输或者解析。下面我们将详细探讨如何在Objective-C中实现NSData...

    objective-c十进制转换成16进制

    在Objective-C编程中,十进制转换为十六进制是一项常见的任务,特别是在处理二进制数据、颜色编码或通信协议时。本篇文章将详细讲解如何在iOS开发环境中使用Objective-C进行这种转换,并通过一个简单的sample来展示...

    iso文件读写函数.docx

    在实际开发中,可能还需要使用`NSFileManager`的其他方法来检查文件是否存在、文件大小、权限等问题,或者使用`NSInputStream`和`NSOutputStream`进行更复杂的流式读写操作。 总的来说,iOS中的文件读写是通过系统...

    IOS应用源码——NSData.rar

    在iOS应用开发中,NSData是Objective-C中的一个基础类,用于处理各种形式的数据,包括二进制、文本或图像数据。这个"NSData"压缩包文件很可能是包含了一系列关于如何使用NSData进行数据操作的示例代码或者教程。...

    NSData扩展

    在iOS开发中,`NSData`类是处理二进制数据的核心类之一,它提供了一系列方法来存储、检索和操作数据。然而,原生的`NSData`类并不包含所有开发者可能需要的功能,尤其是在处理如JSON、GZIP压缩等特定格式的数据时。...

    NSData+CommonCrypto

    在iOS和macOS开发中,`NSData`是用于处理二进制数据的主要类。这个`NSData+CommonCrypto`扩展提供了一种方便的方式来实现常见的加密和解密操作,这些操作是基于Apple的`CommonCrypto`库的。`CommonCrypto`是苹果提供...

    Iphone有关文件编程资料合辑

    3. 使用NSData进行二进制文件的读写,例如图片、音频文件等。 4. NSString和NSDictionary的read/writeToFile方法,用于XML、JSON等文本文件的读写。 5. SQLite数据库的集成和使用,用于结构化数据的存储。 6. ...

    plist文件读写.zip

    如果希望使用二进制格式,只需将`NSPropertyListXMLFormat_v1_0`替换为`NSPropertyListBinaryFormat_v1_0`。 接下来,我们来看如何从`plist`文件读取数据。同样,`NSPropertyListSerialization`类提供了便捷的方法...

    IOS数据保存-文件保存

    例如,可以使用`FileManager`类来管理文件和目录,`NSFileHandle`用于读写文件内容,以及`NSData`用于处理二进制数据。 在iOS中,应用沙盒机制确保了每个应用程序都有自己的文件系统空间,不能访问其他应用的数据。...

    ios实时语音播放pcm数据和播放pcm文件

    这些离散值就是PCM数据,通常以二进制数组形式存在,包含音频的频率、位深度和声道数等信息。 2. **AVAudioPlayer的使用**: 在iOS中,`AVFoundation`框架提供了`AVAudioPlayer`类,用于播放各种音频格式,包括PCM...

    IOS 文件读写操作详解及简单实例

    - 从`NSData`对象中解析出原始数据,例如,可以使用`getBytes:length:`方法获取二进制数据,`initWithData:encoding:`方法将数据转换回字符串。 在实际应用中,根据数据类型的不同,可能需要使用不同的方法来读取和...

    ios_NSString转成16进制Demo

    有时我们需要将NSString对象转换为16进制的表示形式,这在处理二进制数据、加密解密或者网络通信时尤为常见。本Demo就是展示了如何在iOS应用中实现这个功能。 首先,我们需要了解16进制(Hexadecimal)是一种逢16进...

    swift-一行代码搞定NSString和NSData的md5加密

    在iOS应用开发中,我们可能需要对NSString(字符串)或NSData(二进制数据)进行MD5加密。标题提到的“一行代码搞定NSString和NSData的md5加密”意味着存在一个高效且简洁的方法来实现这个功能。 在Swift中,尽管...

    Android/Ios上传图片头像或是文件到数据库

    在iOS中,可以使用`UIImagePickerController`让用户选择图片,再通过`NSData`对象将图片数据转化为二进制格式。 在上传过程中,通常会创建一个HTTP请求,将二进制流作为请求体发送到服务器。在Android中,可以使用`...

    NSDateAndNSData Demo代码

    在iOS和macOS开发中,`NSDate`和`NSData`是两个非常重要的数据类型,它们在处理日期时间以及原始二进制数据时起到关键作用。`NSString`则用于表示文本字符串,这三者之间常常需要进行转换以满足不同的需求。本Demo...

Global site tag (gtag.js) - Google Analytics