Swift 中從 NSString 建立 NSData
在 Swift 中,您可以使用 data(using:) 方法將字串轉換為資料。此方法屬於字串類,用於檢索資料值。在本文中,您將看到此方法的一些用例示例。
以下是 Swift 中將 NSString 轉換為 NSData 的步驟
建立一個包含要轉換的字串的 NSString 物件。
在 NSString 物件上呼叫 data(using:) 方法,並將所需的編碼作為引數傳遞。
使用可選繫結 (if let) 檢查 data(using:) 方法的結果是否不為 nil。
根據需要使用生成的 NSData 物件,例如將其傳遞給網路 API 或將其寫入磁碟。
如果轉換失敗,請使用可選繫結 (if let) 檢查 data(using:) 方法的結果是否為 nil,並採取適當的操作(例如記錄錯誤訊息或向用戶顯示錯誤),以便優雅地處理錯誤。
這是一個示例
在此示例中,字串常量包含要轉換為資料的字串。data(using:) 方法在字串物件上呼叫,並使用 String.Encoding.utf8 引數將字串轉換為使用 UTF-8 編碼的資料。
該方法返回一個可選的 NSData 物件,如果轉換失敗,則為 nil。您應該使用可選繫結 (if let) 來解包結果並檢查錯誤。
獲得 NSData 物件後,您可以根據需要使用它,例如將其傳遞給網路 API 或將其寫入磁碟。
示例
import Foundation
// Create a String object containing the string you want to convert.
let string = "Lorem Ipsum is simply dummy text of the printing and typesetting industry."
// Call the data(using:) method on the String object.
if let data = string.data(using: .utf8) {
print("Input String: \(string)")
print("Converted Data: \(data)")
} else {
print("Error converting string to data")
}
輸出
Input String: Lorem Ipsum is simply dummy text of the printing and typesetting industry. Converted Data: 74 byte
示例:將空字串轉換為資料
在此示例中,我們建立一個空字串並使用 UTF-8 編碼將其轉換為資料。生成的 NSData 物件作為空字串列印到控制檯,表示為 0 位元組。
import Foundation
// Create a String object containing the string you want to convert.
let string = ""
// Call the data(using:) method on the String object.
if let data = string.data(using: .utf8) {
print("Input String: \(string)")
print("Converted Data: \(data)")
} else {
print("Error converting string to data")
}
輸出
Input String: Converted Data: 0 bytes
以下是在 Swift 中從 NSString 建立 NSData 時需要牢記的一些要點
要將字串轉換為資料,請使用 NSString 的 data(using:) 函式。作為此函式的輸入,您應該指示首選的轉換編碼。
如果轉換失敗,data(using:) 函式會提供一個可選的 NSData 物件,否則返回 nil。要安全地解包輸出並檢查錯誤,請使用可選繫結 (if let)。
生成的 NSData 物件是使用所選編碼編碼的文字的二進位制表示形式。該物件可以列印到終端作為資料的十六進位制表示形式。
您使用的編碼取決於您正在處理的材料型別。雖然 UTF-8 是書面資料最常用的格式,但您也可以使用 ASCII、UTF-16 或 ISO。
文字中的非 ASCII 字元將根據編碼渲染為生成的 NSData 物件中一個或多個位元組的序列。在 UTF-8 編碼中,字母“é”由兩個位元組表示:“c3”和“a9”。
如果文字為空,則生成的 NSData 物件也為空。
如果您選擇的編碼無法表示文字中的所有字母,則轉換將失敗併產生零。在這種情況下,請透過提醒使用者或記錄錯誤語句來適當地管理錯誤。
將 NSString 轉換為 NSData 可用於各種場景,例如
網路− 在網路上傳輸資料時,您可能需要在傳送資料之前將字串轉換為二進位制資料(即 NSData)。例如,如果您正在作為 HTTP 請求的一部分傳輸 JSON 有效負載,則需要使用正確的編碼將 JSON 文字轉換為 NSData。
檔案 I/O− 在讀取或寫入檔案時,您可能需要在讀取或寫入檔案資訊之前將字串轉換為二進位制資料。例如,在寫入文字檔案時,您必須首先使用正確的編碼將文字字串轉換為 NSData,然後再將其記錄到磁碟。
加密− 在加密資料時,您可能需要在使用加密方法對其進行編碼之前將明文詞語轉換為二進位制資料。產生的受保護資料也將是二進位制資料。(即 NSData)。
單元測試− 在為程式碼建立單元測試時,您可能需要將函式的實際輸出與預期值進行比較。如果預期值是字串,則可能需要使用正確的編碼將其轉換為二進位制資料,然後再將其與函式的實際輸出進行比較。
結論
總之,在 Swift 中將 NSString 轉換為 NSData 是一個簡單的過程,它涉及在 NSString 物件上呼叫 data(using:) 方法,並將所需的編碼作為引數傳遞。然後可以根據需要使用生成的 NSData 物件,例如將其傳遞給網路 API 或將其寫入磁碟。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP