當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Swift String init(cString:)用法及代碼示例


初始化器

init(cString:)

通過複製給定指針引用的以 null 結尾的 UTF-8 數據來創建一個新字符串。

聲明

init(cString: UnsafePointer<CChar>)

參數

cString

指向以 null 結尾的 UTF-8 代碼序列的指針。

詳述

如果 cString 包含 ill-formed UTF-8 代碼單元序列,則此初始化程序將它們替換為 Unicode 替換字符 ("\u{FFFD}")。

下麵的示例使用指向兩個不同 CChar 數組內容的指針調用此初始化程序——第一個具有格式良好的 UTF-8 代碼單元序列,第二個在末尾具有 ill-formed 序列。


let validUTF8: [CChar] = [67, 97, 102, -61, -87, 0]
validUTF8.withUnsafeBufferPointer { ptr in
    let s = String(cString: ptr.baseAddress!)
    print(s)
}
// Prints "Café"


let invalidUTF8: [CChar] = [67, 97, 102, -61, 0]
invalidUTF8.withUnsafeBufferPointer { ptr in
    let s = String(cString: ptr.baseAddress!)
    print(s)
}
// Prints "Caf�"

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相關用法


注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 String init(cString:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。