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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 文字と書記素クラスタ
- Unicodeスカラーとコードポイント
- 文字のカウントと反復処理
- エンコーディングビュー:utf8、utf16、unicodeScalars