1. 程式人生 > >OC中NSData的基本用法

OC中NSData的基本用法

計算機檔案分為兩種:二進位制檔案和文字檔案,其中計算機中的圖片、視訊、音訊等就是二進位制檔案,而‘.txt’的檔案就是文字檔案。
通常,客戶端與伺服器端,或者客戶端與客戶端資料交流的格式為二進位制(位元組流)。在OC中用NSData類進行儲存。而在NSData類中,此物件由其是例項化的物件,此物件包含了大量的位元組,這些位元組就是我們客戶端想要的資訊。
1.對不可變data進行的操作:
1)初始化/建立一個空的data

NSData *data1 = [NSData data]; 

2)將字串轉換成NSData

//使用const關鍵字來將一個變數變為常量。const修飾的常量也稱為‘命名常量’或者‘符號常量’
const char *str = "Hello"; NSData *data2 = [NSData dataWithBytes: str length:strlen(str)];

3)將OC中的字串轉化成NSData

NSString *string = @"你好嗎?";

NSData *data3 = [string dataUsingEncoding:NSUTF8StringEncoding];

4)將本地檔案中的圖片轉換成資料

NSData *data4 = [NSData dataWithContentsOfFile:@"圖片路徑"];

5)將資料寫入本地檔案

BOOL
flag = [data4 writeToFile:@"儲存路徑"];

6)求data的位元組長度

NSInteger length = data4.length;

NSData與NSMutableData的關係:NSMutableData繼承與NSData,所以NSMutableData在初始化以及一些與字串之間的轉換的方法相似。而與可變陣列、可變字串一樣,NSMutableData也用都“增”、“刪”、“改”的一些操作。

相關推薦

OCNSData基本用法

計算機檔案分為兩種:二進位制檔案和文字檔案,其中計算機中的圖片、視訊、音訊等就是二進位制檔案,而‘.txt’的檔案就是文字檔案。 通常,客戶端與伺服器端,或者客戶端與客戶端資料交流的格式為二進位制(位元組流)。在OC中用NSData類進行儲存。而在NSData

mysql 基本用法,以及日期的轉換

作用 use 相同 允許 配置 arch out 顯示長度 張三豐 1、mysql int(10) int 類型長度4個字節,大約表示2^32數字,10代表的是顯示長度,一般和FILLZERO約束一起使用,如果沒有達到該長度,填充02-->000000002 mysq

4.spring JDBC基本用法

1.Spring的jdbc的基本用法: 2.spring的ioc配置以及以及增刪改查 3.策略模式 4. JDBCDaoSupport 其中優化部分,抽取重複程式碼段!如下圖方法!原理:因為子類自動會繼承父類中protected和public方法!

vueset基本用法

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue中set方法</title> <script src="

linuxmariadb基本用法詳解(企業級)

資料庫 表的每一個列名字的頭   叫做欄位 是高階的exel表格軟體 資料庫種類 sqlserver  sqllite  db2   oracle  > mysql   比較多   其中my

Matlabplot基本用法1

>> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的圖形是以序號為橫座標、陣列y的數值為縱座標畫出的折線。 ////////////////////////////////////

AjaxPro2在Asp.net基本用法

1.      引用ajaxPro2.dll到你的工程中。 2.      在Web.config中新增配置 <httpHandlers>       <add path="ajaxpro/*.ashx" verb="POST,GET" type="Aj

OC__kindof的用法

簡介 __kindof是蘋果宣告的一個新特性,它是和Nullability Annotations 以及Generics 一起在xcode7中出現的。本文將對它進行詳細介紹: 使用方法 假如我們聲明瞭如下屬性: [objc] view plain c

【Objective-C】OC類別(Category)基本概念與用法

類別(Category)的基本概念      封裝是面向物件的一個特徵,OC也不例外,但是有的時候我們會碰到這樣的一種情況,不如我封裝了一個類, 不想再動它了,可是隨著程式功能的增加,需要在那個

【Objective-C】OC引用計數和物件所有權的基本概念與用法

cocoa中的記憶體管理機制--引用計數 Cocoa中提供了一個機制來實現上面的邏輯模型,它被稱為“引用計數”或者“保留計數”。引用計數的數值表示物件有幾個“人”在使用它 每一個物件都擁有

Objective-C]OC類別(Category)基本概念與用法

類別(Category)的基本概念 封裝是面向物件的一個特徵,OC也不例外,但是有的時候我們會碰到這樣的一種情況,不如我封裝了一個類, 不想再動它了,可是隨著程式功能的增加,需要在那個類中增加一個小小的方法,這是我們就不必再那個類中 做修改或者在定義一個子類,只需要

【Objective-C】OC協議(Protocol)的基本概念和用法

協議(Protocol)的基本概念        協議的宣告看起來比較類似於Java中一個類的介面,但是和介面不同的是:協議沒有父類也不能定義例項變數。 協議是一種特殊的程式設計結構,用於宣告專

WordPress函數鉤子hook的作用及基本用法

content 作用 哪些 head 核心 發送 區別 pre repl WordPress 的插件機制實際上只的就是這個 Hook 了,它中文被翻譯成鉤子,允許你參與 WordPress 核心的運行,是一個非常棒的東西,下面我們來詳細了解一下它。鉤子分類 鉤子分為兩種,一

java正則表達式基本用法(轉)

code ack acea print 表達式 劃線 跟著 以及 n) https://www.cnblogs.com/xhj123/p/6032683.html 正則表達式是一種可以用於模式匹配和替換的規範,一個正則表達式就是由普通的字符(例如字符a到z)以及特殊字符(元

EcpliseJunit4單元測試的基本用法

cti 返回 分享 版本選擇 ear task 工作 data too 看了一些Junit4的視頻,簡單了解了Junit4的一些基本用法,整理記錄一下。 環境搭建這裏使用的開發工具是MyEclipse,首先新建一個Java工程,將Junit4的jar包引入,eclipse和

(轉)Linux顯示空閑內存空間的free命令的基本用法

內存統計 bsp 包括 -o body 說明 swa 大於 art 這篇文章主要介紹了Linux系統中free命令的基本用法,用free命令查看內存空余信息是Linux系統入門學習中的基礎知識,需要的朋友可以參考下 free 命令顯示系統使用和空閑的內存情況,包

Python模塊requests模塊的基本用法詳解

python CTF 首先還是老生長談,說說定義和作用,request模塊是一個用於訪問網絡的模塊,其實類似的模塊還有很多,不在一一在這裏解釋。這麽多的相似的模塊為什麽都說只有這個好用呢。因為他人性化。如果你學過urllib之類的模塊的話,對比一下就很清楚了(文章url以題目實

shell字符串基本用法

前言 blog 字符串比較 註意 boa lai 空格 text 與運算 前言 今天在寫腳本時,發現前階段使用過的一些用法還是需要去百度查找,並且找到的答案還需要自己去篩選,耽誤寫腳本時間,這一篇對字符串之間的比較和邏輯判斷都非常詳細,借鑒他人之作,資源共享。 本片主要說明

PHP異常的基本用法

前言 本文 GitBook 地址: https://www.gitbook.com/book/leoyang90/laravel-source-analysis 對於一個優秀的框架來說,正確的異常處理可以防止暴露自身介面給使用者,可以提供快速追溯問題的提示給開發人員。本文會詳細的介紹&

iOSRuntime的幾種基本用法記錄(必看)

Runtime顧名思義執行時,就是系統在執行的時候的一些機制,最主要的是訊息機制。下面這篇文章主要給大家介紹了關於iOS中Runtime的幾種基本用法,文中通過示例程式碼介紹的非常詳細,需要的朋友下面隨著小編來一起學習學習吧 Runtime 介紹 這不是一遍介紹關於Runtime實現