Type Method 型メソッド

width(_:)

Returns the number of code units required to encode the given Unicode scalar. 与えられたユニコードスカラーをエンコードするのに必要とされるコードユニットの数を返します。

Declaration 宣言

static func width(_ x: Unicode.Scalar) -> Int

Parameters パラメータ

x

A Unicode scalar value. あるユニコードスカラー値。

Return Value 戻り値

The width of x when encoded in UTF-8, from 1 to 4. UTF-8で符号化された時のxの幅、1から4まで。

Discussion 解説

Because a Unicode scalar value can require up to 21 bits to store its value, some Unicode scalars are represented in UTF-8 by a sequence of up to 4 code units. The first code unit is designated a lead byte and the rest are continuation bytes. あるユニコードスカラー値はそれの値を格納するのに21ビットに至るまで要求できるので、いくつかのユニコードスカラーはUTF-8では4コード単位までのシーケンスによって表現されます。最初のコード単位は、先行バイトに指定されます、そして残りは継続バイトです。


let anA: Unicode.Scalar = "A"
print(anA.value)
// Prints "65"
print(UTF8.width(anA))
// Prints "1"


let anApple: Unicode.Scalar = "🍎"
print(anApple.value)
// Prints "127822"
print(UTF8.width(anApple))
// Prints "4"