カテゴリ: Swift 更新日: 2026/01/12

Swiftの文字列操作!URLエンコード・デコードとクエリ文字列の生成を徹底解説

Swift URLエンコード/デコード・クエリ文字列の生成
Swift URLエンコード/デコード・クエリ文字列の生成

先生と生徒の会話形式で理解しよう

生徒

「先生、URLに日本語や記号を入れるとエラーになることがあるんですが、どうすればいいですか?」

先生

「それはURLエンコードという処理が必要だからです。URLエンコードを使えば、日本語や特殊記号を安全にURLに含められますよ。」

生徒

「なるほど!じゃあSwiftではどうやってエンコードやデコードをするんですか?」

先生

「Swiftには便利なメソッドが用意されています。さらに、Web開発でよく使うクエリ文字列の生成方法も一緒に学んでみましょう!」

1. URLエンコードとは?

1. URLエンコードとは?
1. URLエンコードとは?

URLエンコードとは、インターネットのURLに使えない文字(日本語や記号など)を安全に変換することです。例えば「こんにちは」という文字をそのままURLに入れるとエラーになりますが、エンコードすると機械が理解できる形式に変換されます。

具体的には、空白は%20、日本語の「あ」は%E3%81%82のように変換されます。これにより、世界中のどんな環境でも安全にデータを送受信できるようになります。

2. SwiftでのURLエンコード方法

2. SwiftでのURLエンコード方法
2. SwiftでのURLエンコード方法

Swiftでは、addingPercentEncodingというメソッドを使ってURLエンコードができます。これは文字列を変換して、URLに含めても問題がない形式にしてくれます。


let text = "こんにちは Swift"
if let encoded = text.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) {
    print(encoded)
}

%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%20Swift

このように、空白や日本語が安全に変換されているのがわかります。

3. URLデコードの方法

3. URLデコードの方法
3. URLデコードの方法

URLエンコードされた文字列は、人間には読みにくいので、元の文字列に戻す必要があります。これを「デコード」と呼びます。SwiftではremovingPercentEncodingを使います。


let encoded = "%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%20Swift"
if let decoded = encoded.removingPercentEncoding {
    print(decoded)
}

こんにちは Swift

このように、エンコードされた文字列を元の日本語に戻すことができます。

4. クエリ文字列とは?

4. クエリ文字列とは?
4. クエリ文字列とは?

クエリ文字列とは、URLの後ろに「?」をつけて追加するパラメータ部分のことです。例えば以下のようなURLです。


https://example.com/search?keyword=Swift&sort=desc

ここでは、検索キーワードに「Swift」、並び順に「desc(降順)」を指定しています。クエリ文字列を使うと、サーバーに情報を送って検索やフィルタリングができるようになります。

5. Swiftでクエリ文字列を生成する

5. Swiftでクエリ文字列を生成する
5. Swiftでクエリ文字列を生成する

SwiftではURLComponentsURLQueryItemを使ってクエリ文字列を簡単に作れます。これらはURLを扱うための便利な仕組みで、文字列を安全に組み立てることができます。


var components = URLComponents(string: "https://example.com/search")!
components.queryItems = [
    URLQueryItem(name: "keyword", value: "Swift 入門"),
    URLQueryItem(name: "sort", value: "desc")
]
print(components.url!)

https://example.com/search?keyword=Swift%20入門&sort=desc

日本語の「入門」も自動的にエンコードされ、安心して使えるURLが生成されます。

6. 実用例:検索フォームの入力をURLに変換

6. 実用例:検索フォームの入力をURLに変換
6. 実用例:検索フォームの入力をURLに変換

例えばアプリでユーザーが検索キーワードを入力したとき、その文字列をそのままURLに付けると不具合が起こる可能性があります。そこで、入力をクエリ文字列に変換すれば安全にリクエストできます。


let keyword = "Swift 初心者"
var components = URLComponents(string: "https://example.com/search")!
components.queryItems = [
    URLQueryItem(name: "q", value: keyword)
]
print(components.url!)

https://example.com/search?q=Swift%20初心者

このように、Swiftではエンコードを意識せずに入力をそのまま渡せば、自動的に安全なURLが作られます。

Swiftを基礎から実践レベルまで学びたい人や、 iOSアプリ開発を本格的に始めたい人には、 定番の入門+実践書がこちらです。

Swift実践入門をAmazonで見る

※ Amazon広告リンク

7. URL操作のベストプラクティス

7. URL操作のベストプラクティス
7. URL操作のベストプラクティス

最後に、SwiftでURLを扱うときのベストプラクティスをまとめます。

  • 日本語や記号を含む場合は必ずエンコードする
  • addingPercentEncodingでエンコード、removingPercentEncodingでデコード
  • クエリ文字列を作るときはURLComponentsURLQueryItemを利用
  • 文字列を直接結合せず、安全な方法で組み立てることが重要

これらを守ることで、SwiftのURL操作が正しく行え、アプリやWebサービスが安定して動作します。

関連セミナーのご案内

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

「iPhoneアプリを作りたいけれど、Macを持っていないから諦めている」そんな方のための画期的な入門講座です。実は、プログラミングの本質を学ぶのに高価な機材は必要ありません。本講座では、Windowsパソコンを使用し、クラウド環境を活用してAppleの最新言語Swift(スウィフト)の基礎を最短距離でマスターします。

Windowsで実現する開発環境

【つくるもの】
ブラウザ上で動作する「スマート・計算ツール」や「データ判定プログラム」をゼロから作成します。変数の扱いや条件分岐など、iPhoneアプリの内部で動くロジックを自分の手で構築する感動を体験してください。

【開発環境】
ブラウザだけでSwiftが動くプロ仕様のオンラインエディタ(Replit等)を使用します。面倒な設定は一切不要。今あるWindows PCで、プロのエンジニアと同じコードを書き始められます。

この60分で得られる3つの理解

1. WindowsでのSwift実行環境の作り方

OSの壁を越え、クラウドを活用してスマートに学習を開始する「現代的な開発スタイル」を習得します。

2. Swiftの基本構造(変数・型・定数)

iPhoneアプリ特有のデータの扱い方や、Appleが推奨する「安全で美しいコード」の書き方を学びます。

3. アプリエンジニアとしてのロードマップ

将来的にiOSエンジニアとして副業・転職するために必要な準備や、Mac選びのポイントを伝授します。

※本講座は、将来的にiPhoneアプリ開発で収益化や転職を目指したい未経験者のためのエントリー講座です。マンツーマン形式により、Windows環境ならではの疑問にもその場でお答えし、あなたの理解度に合わせて進行します。

セミナー画像

Windowsで始めるiPhoneアプリ開発入門

カテゴリの一覧へ
新着記事
New1
Swift
Swift 文字列 置換・検索の実用テクニック(replacing/contains)を初心者向けに解説
New2
Swift
Swift 文字列 切り出し・部分文字列(Substring)の扱い方を初心者向けに解説
New3
Swift
Swiftのクラスとは?初心者でもわかるオブジェクト指向の基本をやさしく解説
New4
Go言語
Go言語のpanicとrecoverの基本!エラーハンドリングの応用例
人気記事
No.1
Java&Spring記事人気No1
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.2
Java&Spring記事人気No2
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.3
Java&Spring記事人気No3
Swift
Swiftの制御構造まとめ|初心者が覚えるべき基本文法
No.4
Java&Spring記事人気No4
Kotlin
Kotlinのアプリ署名と証明書管理の基本を完全解説!初心者でも理解できるAndroidアプリの安全な配布方法
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.7
Java&Spring記事人気No7
Go言語
Go言語のデザインパターン入門!基本概念と分類をわかりやすく解説
No.8
Java&Spring記事人気No8
Kotlin
Kotlinマルチプラットフォーム開発の制約と注意点を徹底解説!Kotlin/NativeとKMPの基礎