typealias String.UTF8View.Index
typealias String.UTF8View.Element
typealias String.UTF8View.Indices
typealias String.UTF8View.Iterator
typealias String.UTF8View.SubSequence
Availability
Technology
@frozen struct UTF8View
You can access a string’s view of UTF-8 code units by using its utf8
property. A string’s UTF-8 view encodes the string’s Unicode scalar values as 8-bit integers.
あなたは、文字列のもつUTF-8コード単位ビューにそれのutf8
プロパティを使うことによってアクセスできます。文字列の持つUTF-8ビューは、文字列の持つユニコードスカラー値を8ビット整数として符号化します。
A string’s Unicode scalar values can be up to 21 bits in length. To represent those scalar values using 8-bit integers, more than one UTF-8 code unit is often required. 文字列の持つユニコードスカラー値は、長さが21ビットに至るまで可能です。これらのスカラー値を8ビット整数で表すには、1つ以上のUTF-8コード単位がしばしば必要とされます。
In the encoded representation of a Unicode scalar value, each UTF-8 code unit after the first is called a continuation byte. あるユニコードスカラー値の符号化された表現において、最初のものの後の各UTF-8コード単位は、継続バイトと呼ばれます。
Swift streamlines interoperation with C string APIs by letting you pass a String
instance to a function as an Int8
or UInt8
pointer. When you call a C function using a String
, Swift automatically creates a buffer of UTF-8 code units and passes a pointer to that buffer. The code units of that buffer match the code units in the string’s utf8
view.
Swiftは、あなたにString
インスタンスを関数へInt8
またはUInt8
ポインタとして渡させることによって、C文字列APIとの相互作用を能率化します。あなたがC関数をString
を使って呼び出すとき、Swiftは自動的にUTF-8コード単位のバッファを作成してポインタをそのバッファへ渡します。このバッファのコード単位は、文字列のもつutf8
ビューでのコード単位と一致します。
The following example uses the C strncmp
function to compare the beginning of two Swift strings. The strncmp
function takes two const char*
pointers and an integer specifying the number of characters to compare. Because the strings are identical up to the 14th character, comparing only those characters results in a return value of 0
.
以下の例は、C strncmp
関数を使って2つのSwift文字列を比較します。strncmp
関数は、2つのconst char*
ポインタと、比較する文字数を指定している整数を取ります。これら文字列が14番目の文字に至るまで全く同じなので、それらの文字だけ比較することは0
の値を返す結果になります。
Extending the compared character count to 15 includes the differing characters, so a nonzero result is returned. 比較する文字を15を数えるまで広げることは異なる文字を含みます、それで非ゼロの結果が返されます。
typealias String.UTF8View.Index
typealias String.UTF8View.Element
typealias String.UTF8View.Indices
typealias String.UTF8View.Iterator
typealias String.UTF8View.SubSequence
var count: Int
var customMirror : Mirror
var customPlaygroundQuickLook : _PlaygroundQuickLook
var debugDescription : String
var description: String
var endIndex : String.UTF8View.Index
var first: UTF8.CodeUnit?
var indices: DefaultIndices<String.UTF8View>
var isEmpty : Bool
var last: UTF8.CodeUnit?
var lazy: LazySequence<String.UTF8View>
map
and filter
, are implemented lazily.
このシーケンスと同じ要素を含んでいるシーケンス、しかしそれの上で何らかの演算、例えばmap
やfilter
が遅延に実装されます。
var startIndex : String.UTF8View.Index
var underestimatedCount : Int
func allSatisfy ((UTF8.CodeUnit) -> Bool) -> Bool
func compactMap <ElementOfResult>((UTF8.CodeUnit) -> ElementOfResult?) -> [ElementOfResult]
nil
results of calling the given transformation with each element of this sequence.
指定された変換をこのシーケンスの各要素で呼び出す結果で非-nil
のものを含んでいる配列を返します。
func contains(UTF8.CodeUnit) -> Bool
func contains(where: (UTF8.CodeUnit) -> Bool) -> Bool
func difference<C>(from: C) -> CollectionDifference<UTF8.CodeUnit>
func difference<C>(from: C, by: (C.Element, UTF8.CodeUnit) -> Bool) -> CollectionDifference<UTF8.CodeUnit>
func distance(from: String.UTF8View.Index, to: String.UTF8View.Index) -> Int
func drop(while: (UTF8.CodeUnit) -> Bool) -> Substring.UTF8View
predicate
returns true
and returning the remaining elements.
predicate
がtrue
を返す間は要素を飛ばして残りの要素を返すことによって、ある下位シーケンスを返します。
func dropFirst (Int) -> Substring.UTF8View
func dropLast (Int) -> Substring.UTF8View
func elementsEqual <OtherSequence>(OtherSequence) -> Bool
func elementsEqual <OtherSequence>(OtherSequence, by: (UTF8.CodeUnit, OtherSequence.Element) -> Bool) -> Bool
func enumerated() -> EnumeratedSequence<String.UTF8View>
func filter((UTF8.CodeUnit) -> Bool) -> [UTF8.CodeUnit]
func first(where: (UTF8.CodeUnit) -> Bool) -> UTF8.CodeUnit?
func firstIndex (of: UTF8.CodeUnit) -> String.Index?
func firstIndex (where: (UTF8.CodeUnit) -> Bool) -> String.Index?
func flatMap <SegmentOfResult>((UTF8.CodeUnit) -> SegmentOfResult) -> [SegmentOfResult.Element]
func flatMap <ElementOfResult>((UTF8.CodeUnit) -> ElementOfResult?) -> [ElementOfResult]
Deprecated
非推奨
func forEach ((UTF8.CodeUnit) -> Void)
for
-in
loop.
指定されたクロージャをそのシーケンスの各要素上でfor
-in
ループと同じ順番で呼び出します。
func formIndex (inout String.Index, offsetBy : Int)
func formIndex (inout String.Index, offsetBy : Int, limitedBy : String.Index) -> Bool
func formIndex (after: inout String.Index)
func formIndex (before: inout String.Index)
func index(String.UTF8View.Index, offsetBy : Int) -> String.UTF8View.Index
func index(String.UTF8View.Index, offsetBy : Int, limitedBy : String.UTF8View.Index) -> String.UTF8View.Index?
func index(after: String.UTF8View.Index) -> String.UTF8View.Index
i
.
i
の後の、以降に続く位置を返します。
func index(before: String.UTF8View.Index) -> String.UTF8View.Index
func index(of: UTF8.CodeUnit) -> String.Index?
func last(where: (UTF8.CodeUnit) -> Bool) -> UTF8.CodeUnit?
func lastIndex (of: UTF8.CodeUnit) -> String.Index?
func lastIndex (where: (UTF8.CodeUnit) -> Bool) -> String.Index?
func lexicographicallyPrecedes <OtherSequence>(OtherSequence) -> Bool
<
) to compare elements.
そのシーケンスが別のシーケンスの前に来るかどうかを、ある語彙筆記的順序(字典)順序において、より小さい演算子(<
)を使って要素を比較して、指し示すブール値を返します。
func lexicographicallyPrecedes <OtherSequence>(OtherSequence, by: (UTF8.CodeUnit, UTF8.CodeUnit) -> Bool) -> Bool
func makeIterator () -> IndexingIterator<String.UTF8View>
func map<T>((UTF8.CodeUnit) -> T) -> [T]
func max() -> UTF8.CodeUnit?
func max(by: (UTF8.CodeUnit, UTF8.CodeUnit) -> Bool) -> UTF8.CodeUnit?
func min() -> UTF8.CodeUnit?
func min(by: (UTF8.CodeUnit, UTF8.CodeUnit) -> Bool) -> UTF8.CodeUnit?
func prefix(Int) -> Substring.UTF8View
func prefix(through: String.Index) -> Substring.UTF8View
func prefix(upTo : String.Index) -> Substring.UTF8View
func prefix(while: (UTF8.CodeUnit) -> Bool) -> Substring.UTF8View
predicate
returns false
and skipping the remaining elements.
predicate
がfalse
を返すまで冒頭の要素を含んでいて残りの要素を飛ばしている、ある下位シーケンスを返します。
func randomElement () -> UTF8.CodeUnit?
func randomElement <T>(using: inout T) -> UTF8.CodeUnit?
func reduce<Result>(Result, (Result, UTF8.CodeUnit) -> Result) -> Result
func reduce<Result>(into: Result, (inout Result, UTF8.CodeUnit) -> ()) -> Result
func reversed() -> ReversedCollection<String.UTF8View>
func shuffled() -> [UTF8.CodeUnit]
func shuffled<T>(using: inout T) -> [UTF8.CodeUnit]
func sorted() -> [UTF8.CodeUnit]
func sorted(by: (UTF8.CodeUnit, UTF8.CodeUnit) -> Bool) -> [UTF8.CodeUnit]
func split(maxSplits : Int, omittingEmptySubsequences : Bool, whereSeparator : (UTF8.CodeUnit) -> Bool) -> [Substring.UTF8View]
func split(separator: UTF8.CodeUnit, maxSplits : Int, omittingEmptySubsequences : Bool) -> [Substring.UTF8View]
func starts<PossiblePrefix>( with: PossiblePrefix) -> Bool
func starts<PossiblePrefix>( with: PossiblePrefix, by: (UTF8.CodeUnit, PossiblePrefix.Element) -> Bool) -> Bool
func suffix(Int) -> Substring.UTF8View
func suffix(from: String.Index) -> Substring.UTF8View
func withContiguousStorageIfAvailable <R>((UnsafeBufferPointer<UTF8.CodeUnit>) -> R) -> R?
func withContiguousStorageIfAvailable <R>((UnsafeBufferPointer<String.UTF8View.Element>) -> R) -> R?
subscript(String.UTF8View.Index) -> UTF8.CodeUnit
subscript(Range<String.UTF8View.Index>) -> String.UTF8View.SubSequence
subscript<R>(R) -> Substring.UTF8View
struct Substring
protocol StringProtocol
struct String.Index
struct String.UnicodeScalarView
struct String.UTF16View
struct String.Iterator