Initializer

init(validatingUTF8:)

Creates a new string by copying and validating the null-terminated UTF-8 data referenced by the given pointer. 新しい文字列を、与えられたポインタによって参照されるヌル終端のUTF-8データをコピーして検証することによって作成します。

Declaration 宣言

init?(validatingUTF8 cString: UnsafePointer<CChar>)

Parameters パラメータ

cString

A pointer to a null-terminated UTF-8 code sequence. ヌル終端のコードシーケンスへのポインタ。

Discussion 解説

This initializer does not try to repair ill-formed UTF-8 code unit sequences. If any are found, the result of the initializer is nil. このイニシャライザは、誤形式UTF-8コード単位シーケンスの修復を試みません。何か見つけられるならば、イニシャライザの結果はnilです。

The following example calls this initializer with pointers to the contents of two different CChar arrays—the first with well-formed UTF-8 code unit sequences and the second with an ill-formed sequence at the end. 以下の例は、このイニシャライザを2つの異なるCChar配列の内容へのポインタとともに呼び出します—最初のものは正しい形式のUTF-8コード単位シーケンスをもち、そして2番目のものはある誤形式シーケンスを末尾に保ちます。


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


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

See Also 参照

Creating a String from Unicode Data 文字列をユニコードデータから作成する