当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。