0Pricing
Swift Academy · レッスン

Unicodeスカラーとコードポイント

テキストの基盤となるスカラー値にアクセスします。

「Unicodeスカラーとコードポイント」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。

Unicodeスカラー

Unicodeスカラーは、Unicode標準における1つのコードポイントで、Unicode.Scalarで表されます。文字は1つ以上のスカラーから構成されます。

let scalar: Unicode.Scalar = "A"
print(scalar)
print(scalar.value)

valueプロパティ

各スカラーには数値の.valueがあります。これはUnicodeコードポイントを数値で表したものです。文字Aは65です。

let a: Unicode.Scalar = "A"
let z: Unicode.Scalar = "Z"
print(a.value, z.value)

unicodeScalarsビュー

文字列は.unicodeScalarsを通じてスカラーを公開しており、コレクションとして反復処理できます。

for scalar in "Hi".unicodeScalars {
    print(scalar, scalar.value)
}

スカラーと文字の違い

1つのCharacterに複数のスカラーが含まれることがあります。結合文字で書かれたアクセント付き文字は、スカラー2つで構成されますが、文字としては1つです。

let accented = "e\u{301}"
print("Characters:", accented.count)
print("Scalars:", accented.unicodeScalars.count)

16進数からコードポイントを記述する

波括弧付きのバックスラッシュuエスケープを使うと、コードポイントを16進数で指定してスカラーを記述できます。

let heart = "\u{2764}"
print(heart)
for s in heart.unicodeScalars { print(s.value) }

数値からスカラーを作成する

整数のコードポイントからUnicode.Scalarを構築できます。ただし、すべての数値が有効とは限らないため、失敗する可能性があります。

if let s = Unicode.Scalar(65) {
    print(s)
}

スカラーの範囲

スカラーには数値が割り当てられているため、比較したり範囲として扱ったりできます。たとえば、スカラーがASCIIの数字かどうかを確認できます。

let s: Unicode.Scalar = "7"
let isDigit = s.value >= 48 && s.value <= 57
print("Is digit:", isDigit)

ASCIIプロパティ

スカラーには.isASCIIプロパティがあり、そのスカラーがASCIIの範囲に含まれるかどうかを示します。

let a: Unicode.Scalar = "a"
let emoji: Unicode.Scalar = "\u{1F600}"
print(a.isASCII, emoji.isASCII)

スカラーのプロパティ

スカラーは.propertiesを通じて、文字か空白文字かどうかなど、Unicodeに関する豊富なプロパティを公開します。

let space: Unicode.Scalar = " "
print(space.properties.isWhitespace)

文字をスカラーに対応付ける

Characterを構成要素であるスカラーに分解して、どのように構成されているかを調べられます。

let c: Character = "e\u{301}"
for s in c.unicodeScalars {
    print(s.value)
}

スカラーが重要な理由

低レベルのテキスト処理やエンコーディング、文字がどのように構成されているかを理解するには、スカラーのレベルで扱うことが不可欠です。

let flag = "\u{1F1F9}\u{1F1F7}"
print("Characters:", flag.count)
print("Scalars:", flag.unicodeScalars.count)

確認問題

スカラーと文字の関係を思い出してください。

まとめ: Unicodeスカラーとコードポイント

Unicode.Scalarは数値の.valueを持つ単一のコードポイントであること、文字列は.unicodeScalarsビューを公開すること、そして1つのCharacterが複数のスカラーで構成される場合があり、低レベルのテキスト処理で重要になることを学びました。

let text = "A\u{301}"
print("Characters:", text.count)
for s in text.unicodeScalars { print(s.value) }

よくある質問

「Unicodeスカラーとコードポイント」レッスンは無料ですか?

はい。「Unicodeスカラーとコードポイント」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。

「Unicodeスカラーとコードポイント」で何を学びますか?

テキストの基盤となるスカラー値にアクセスします。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Swift Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「Unicodeスカラーとコードポイント」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwift Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 文字と書記素クラスタ
  2. Unicodeスカラーとコードポイント
  3. 文字のカウントと反復処理
  4. エンコーディングビュー:utf8、utf16、unicodeScalars
← Swift Academyに戻る