Swiftで1文字のStringからASCII値に変換する最も簡単な方法は何ですか?
2023-07-11 10:51:38
質問
私はSwiftで単一の文字列のASCII値を取得したいだけです。これは、私が現在それをやっている方法です。
var singleChar = "a"
println(singleChar.unicodeScalars[singleChar.unicodeScalars.startIndex].value) //prints: 97
しかし、これはとても醜い。もっと簡単な方法があるはずです。
どのように解決するのですか?
Swift 5.2以降を編集・更新してください。
extension StringProtocol {
var asciiValues: [UInt8] { compactMap(\.asciiValue) }
}
"abc".asciiValues // [97, 98, 99]
Swift 5 では、新しい文字プロパティを使用することができます。 isASCII と asciiValue
Character("a").isASCII // true
Character("a").asciiValue // 97
Character("á").isASCII // false
Character("á").asciiValue // nil
古い回答
エクステンションを作成することができます。
Swift 4.2以降
extension Character {
var isAscii: Bool {
return unicodeScalars.allSatisfy { $0.isASCII }
}
var ascii: UInt32? {
return isAscii ? unicodeScalars.first?.value : nil
}
}
extension StringProtocol {
var asciiValues: [UInt32] {
return compactMap { $0.ascii }
}
}
Character("a").isAscii // true
Character("a").ascii // 97
Character("á").isAscii // false
Character("á").ascii // nil
"abc".asciiValues // [97, 98, 99]
"abc".asciiValues[0] // 97
"abc".asciiValues[1] // 98
"abc".asciiValues[2] // 99
関連
-
[解決済み] バイトを文字列に変換する
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Python 3で文字列をバイトに変換する最良の方法?
-
[解決済み] 文字のASCII値を取得する方法
-
[解決済み] JavaScriptにおけるendsWith
-
[解決済み] リスト内の項目を1つの文字列に連結するには?
-
[解決済み】大文字・小文字を区別しない「Contains(string)
-
[解決済み】文字列の中にある文字列(実際はchar)の出現回数を数えるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] swiftにおける "precondition "と "assert "の違いとは?
-
[解決済み] Swift の @escaping と Completion ハンドラ
-
[解決済み] ボタンを無効化する
-
[解決済み] Swiftでクラスメソッド/プロパティを作成するには?
-
[解決済み] Swiftの数学関数
-
[解決済み] Swiftの網羅的なSwitchステートメントのためのNoop
-
[解決済み] Swiftで配列の最後の要素を取得する方法は?
-
[解決済み] Swiftの定数。構造体か列挙型か
-
[解決済み] SceneDelegateとAppDelegateの違いについて
-
[解決済み] Swift で Double と Float の最大値を求める方法