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-16, either 1 or 2. UTF-16でエンコードされる時のxの幅、1または2のどちらか。

Discussion 解説

Because a Unicode scalar value can require up to 21 bits to store its value, some Unicode scalars are represented in UTF-16 by a pair of 16-bit code units. The first and second code units of the pair, designated leading and trailing surrogates, make up a surrogate pair. あるユニコードスカラー値はそれの値を格納するのに21ビットに至るまで要求できるので、いくつかのユニコードスカラーはUTF-16ではペア(一対)の16ビットコード単位によって表現されます。このペアの最初と2番目のコード単位、先行および後続サロゲートと呼ばれるものが、ひとつのサロゲートペアを作り上げます。


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


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