.NETヘルプ C# URL Encode(開発者向けの動作方法) Jacob Mellor 更新日:2026年1月18日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る URLエンコーディングとデコーディングは、URL内のデータの安全な伝送を保証するためにC#で使用される技術です。 C#では、これらの操作は、Webアプリケーション、APIコール、またはデータを安全かつ確実にインターネット経由で渡す必要があるシナリオを扱うときによく遭遇します。 この記事では、URLエンコーディングの方法とIronPDFライブラリについて説明します。 C#におけるURLエンコーディング URLをエンコードする場合、その文字をインターネット上で安全に送信できる形式に変更し、誤解を避ける必要があります。 これは、URLがASCII文字セットを使用してインターネットを介してのみ送信することができるためです。 このセットに含まれていない文字や、URLで特別な意味を持つ文字(スペース、アンパサンド、等号など)は、パーセントエンコーディングを使って表現する必要があります(たとえば、スペースは%20になります)。 C#は、このタスクを達成するための組み込みメソッドを提供します。 C#でのURLデコード URLデコードは、目的地に到着したときに、エンコードされた文字を元の状態に変換します。 これは、受信側のアプリケーションがデータを正しく理解し、意図どおりに処理するために不可欠です。 デコードは、パーセントエンコードされた文字を元の記号に戻し、データを読みやすく、再び使えるようにします。 C#におけるエンコーディングメソッド C#では、URLエンコーディングを行う方法が複数あり、それぞれ異なるシナリオに適しています。 これらのメソッドは主にSystem.WebとSystem.Net名前空間内にあり、開発者にURLエンコード方法の柔軟性を提供します。 以下は、利用可能な方法の簡単な概要です: HttpUtility.UrlEncode メソッド (System.Web):これは、Web アプリケーションでの URL エンコードにおそらく最もよく使用される方法です。 文字をパーセントエンコード形式に変換し、文字列をURL上で安全に送信できるようにします。 ASP.NETプロジェクトでは、クエリー文字列やフォームパラメーターのエンコードに特に役立ちます。 HttpUtility.UrlPathEncode メソッド (System.Web): UrlEncodeとは異なり、 UrlPathEncode はクエリ文字列をそのまま残し、URL のパス部分をエンコードするために特別に設計されています。 この方法では、URL全体をエンコードするのではなく、パス部分をエンコードするため、URLの階層構造が保たれることに注意することが重要です。 Uri.EscapeUriString メソッド (システム):このメソッドは、URI 文字列をエスケープし、URI で許可されていないすべての文字をパーセントエンコードされた文字に変換します。 ただし、スラッシュ(/)やクエスチョンマーク(? Uri.EscapeDataString メソッド (システム):このメソッドは、URI のクエリ部分で使用される文字列をエンコードするために設計されています。 これは、RFC 3986 で定義されている unreserved 文字を除くすべての文字をエンコードします。EscapeUriStringよりも積極的で、URL内の送信のためにデータが安全にエンコードされることを保証します。 上記のように、最初の3つのエンコード方法と、そのコード例を理解することによって、その動作を理解しましょう。 HttpUtility.UrlEncodeメソッドのコード例 using System; using System.Web; class Program { static void Main() { string originalPath = "/api/search/Hello World!"; string encodedPath = UrlEncode(originalPath); Console.WriteLine("Original Path: " + originalPath); Console.WriteLine("Encoded Path: " + encodedPath); } public static string UrlEncode(string originalString) { return HttpUtility.UrlEncode(originalString); } } using System; using System.Web; class Program { static void Main() { string originalPath = "/api/search/Hello World!"; string encodedPath = UrlEncode(originalPath); Console.WriteLine("Original Path: " + originalPath); Console.WriteLine("Encoded Path: " + encodedPath); } public static string UrlEncode(string originalString) { return HttpUtility.UrlEncode(originalString); } } $vbLabelText $csharpLabel 名前空間の包含: System.Web名前空間がコードの先頭に包含されます。 元の文字列: URL で安全に送信するためにエンコードする文字を含む文字列変数originalStringを定義します。 これには、エンコードせずにURLに含めると問題を引き起こす可能性のあるスペースや句読点が含まれます。 エンコーディング: HttpUtility.UrlEncodeメソッドは、 originalStringを引数として呼び出されます。 このメソッドは文字列を処理し、安全でない文字をパーセントエンコードされた同等の文字に置き換えた新しい文字列を返します。 例えば、スペースは%20に置き換えられます。 出力:最後に、プログラムは元の文字列とエンコードされた文字列の両方をコンソールに出力します。 HttpUtility.UrlPathEncodeメソッドのコード例 using System; using System.Web; class Program { static void Main() { // Define the original URL path, which includes spaces. string originalPath = "/api/search/Hello World!"; // Use the HttpUtility.UrlPathEncode method to encode the path. string encodedPath = HttpUtility.UrlPathEncode(originalPath); // Output the original and encoded paths to the console. Console.WriteLine("Original Path: " + originalPath); Console.WriteLine("Encoded Path: " + encodedPath); } } using System; using System.Web; class Program { static void Main() { // Define the original URL path, which includes spaces. string originalPath = "/api/search/Hello World!"; // Use the HttpUtility.UrlPathEncode method to encode the path. string encodedPath = HttpUtility.UrlPathEncode(originalPath); // Output the original and encoded paths to the console. Console.WriteLine("Original Path: " + originalPath); Console.WriteLine("Encoded Path: " + encodedPath); } } $vbLabelText $csharpLabel URLエンコードにおける文字エンティティの等価物:このプロセスは、URLパスの文字列値を変換し、ウェブの互換性のためにスペースを文字エンティティの等価物(%20)に変換します。 URLには実際のスペースを含めることができないため、これは非常に重要です。 文字列値とURL文字列の処理: originalPath変数の文字列値は"/api/search/Hello World!"であり、これはスペースを含んでいるためにエンコードを必要とするURL文字列の典型的な例です。 この例では、メソッドのオーバーロードなしで HttpUtility.UrlPathEncode の特定のバージョンを使用していますが、URL パスをエンコードするためのメソッドの設計意図に注意することが重要です。 開発者は、メソッドのオーバーロードが存在する場合、メソッドを使用する別の方法を提供するため、多くの場合、異なるタイプの入力を受け入れるか、または追加の機能を提供するメソッドのオーバーロードに注意する必要があります。 エンコーディングオブジェクトと文字列URLの変換:このコンテキストにおけるエンコーディングオブジェクトは、文字列URLを受け取り、そのエンコードされたフォームを返すHttpUtility.UrlPathEncodeメソッドの操作に暗黙的に含まれています。 この方法では、特殊文字を適切な表現にエンコードしながらも、URLパスの構造が損なわれないようにします。 エンコードされたパスの出力: このプログラムは、元のパスからエンコードされたパスへの変換を示します。 これは、文字列URLをウェブ送信用にエンコードする直接的な例で、スペースやその他の特殊文字が引き起こす可能性のある問題に対処しています。 Uri.EscapeUriStringメソッドのコード例 using System; class Program { static void Main() { string originalUri = "https://example.com/search?query=Hello World!"; string escapedUri = Uri.EscapeUriString(originalUri); Console.WriteLine("Original URI: " + originalUri); Console.WriteLine("Escaped URI: " + escapedUri); } } using System; class Program { static void Main() { string originalUri = "https://example.com/search?query=Hello World!"; string escapedUri = Uri.EscapeUriString(originalUri); Console.WriteLine("Original URI: " + originalUri); Console.WriteLine("Escaped URI: " + escapedUri); } } $vbLabelText $csharpLabel 元の URI: originalUri変数は、スペースと特殊文字を含むクエリ文字列を含む完全な URI を表す文字列で初期化されます。 URIがウェブブラウザやサーバによって正しく処理されるように、これらの特殊文字は"エスケープ"する必要があります。 URI のエスケープ: Uri.EscapeUriStringメソッドが、 originalUriを引数として呼び出されます。 このメソッドは、URI文字列をスキャンし、URIで許可されていない文字や曖昧さを引き起こす可能性のある文字をエスケープします。 出力:プログラムは元の URI とエスケープされた URI の両方をコンソールに出力します。 IronPDF: C# PDFライブラリ IronPDFは、.NETアプリケーション内でのPDFファイルの作成、編集、操作を簡素化するPDFライブラリです。 C#やVB.NETとシームレスに統合するように設計されたIronPDFは、HTMLからまたはテキストから直接PDFを生成する機能を開発者に提供します。 請求書作成の自動化、ダイナミックレポートの作成、.NET環境でのドキュメント管理など、IronPDFはその使いやすさと包括的な機能で際立っています。 IronPdfのハイライトはHTMLからPDFへの変換機能で、レイアウトとスタイルを維持します。 これにより、ウェブコンテンツからPDFを作成することができ、レポート、請求書、ドキュメンテーションに最適です。 HTMLファイル、URL、HTML文字列は簡単にPDFに変換できます。 using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // 1. Convert HTML String to PDF var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"; var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent); pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // 2. Convert HTML File to PDF var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath); pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); pdfFromUrl.SaveAs("URLToPDF.pdf"); } } using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // 1. Convert HTML String to PDF var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"; var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent); pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // 2. Convert HTML File to PDF var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath); pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); pdfFromUrl.SaveAs("URLToPDF.pdf"); } } $vbLabelText $csharpLabel URLエンコードによる動作コード例 次の例では、ウェブページからPDFを生成するためにURLエンコーディングと組み合わせてIronPdfを使用する方法を説明します。 このシナリオでは、Webリクエスト用に正しくフォーマットされたURLをエンコードし、IronPDFを使ってそのURLのコンテンツをPDFドキュメントに変換します。 IronPDFライブラリをインストールする まず、プロジェクトにIronPdfがインストールされていることを確認してください。 NuGetパッケージマネージャを使用している場合は、実行することでインストールできます: Install-Package IronPdf コード例 それでは、コードに飛び込んでみましょう: using System.Web; using IronPdf; class Program { static void Main(string[] args) { License.LicenseKey = "License-Key"; // Set your IronPDF license key string baseUrl = "https://example.com/search"; // The query parameter with spaces that needs to be encoded string query = "Hello World!"; // Encoding the query parameter to ensure the URL is correctly formatted string encodedQuery = HttpUtility.UrlEncode(query); // Constructing the full URL with the encoded query parameter string fullUrl = $"{baseUrl}?query={encodedQuery}"; // Initialize the IronPDF HtmlToPdf renderer var renderer = new ChromePdfRenderer(); // Convert the web page at the encoded URL to a PDF document var pdf = renderer.RenderUrlAsPdf(fullUrl); // Save the PDF to a file string filePath = "webpage.pdf"; pdf.SaveAs(filePath); Console.WriteLine($"PDF successfully created from: {fullUrl}"); Console.WriteLine($"Saved to: {filePath}"); } } using System.Web; using IronPdf; class Program { static void Main(string[] args) { License.LicenseKey = "License-Key"; // Set your IronPDF license key string baseUrl = "https://example.com/search"; // The query parameter with spaces that needs to be encoded string query = "Hello World!"; // Encoding the query parameter to ensure the URL is correctly formatted string encodedQuery = HttpUtility.UrlEncode(query); // Constructing the full URL with the encoded query parameter string fullUrl = $"{baseUrl}?query={encodedQuery}"; // Initialize the IronPDF HtmlToPdf renderer var renderer = new ChromePdfRenderer(); // Convert the web page at the encoded URL to a PDF document var pdf = renderer.RenderUrlAsPdf(fullUrl); // Save the PDF to a file string filePath = "webpage.pdf"; pdf.SaveAs(filePath); Console.WriteLine($"PDF successfully created from: {fullUrl}"); Console.WriteLine($"Saved to: {filePath}"); } } $vbLabelText $csharpLabel コードの説明 この例は、ベースURLとスペースを含むクエリー文字列から始まります。 クエリ文字列は、HttpUtility.UrlEncodeを使用してエンコードされ、URLで安全に送信されます。 クエリをエンコードした後、ベースURLに追加して、アクセスされる完全なURLを形成します。 エンコードされたURLの準備ができたら、IronPDFのChromePdfRendererを使ってURLのウェブページを取得し、PDFドキュメントに変換します。 これは、ChromePdfRendererクラスのインスタンスを作成し、エンコードされたURLでRenderUrlAsPdfを呼び出すことを含みます。 最後に、生成されたPDFはSaveAsメソッドを使用してファイルに保存されます。 出来上がったファイルは、エンコードされたURLからアクセスできる、ウェブページコンテンツのPDFドキュメントです。 こちらが出力されたPDFファイルです: 結論 最後に、C#はURLエンコードとデコードのための強力な機能を提供し、データをインターネット上で安全かつ効率的に送信できるようにします。 System.WebおよびSystem.Net名前空間内の組み込みメソッドを通じて、開発者は特殊文字の問題を防ぐためにURLをエンコードし、正確なデータ解釈のために元の形式にデコードすることができます。 IronPDFトライアルライセンスを検討されている方には、その機能を直接評価する機会を提供します。 IronPDF をプロジェクトに統合する場合、ライセンスは $799 から始まり、 .NET Framework内での PDF 操作のニーズを満たす包括的な機能スイートが提供されます。 よくある質問 C#でURLをエンコードするにはどうすればいいですか? C#では、HttpUtility.UrlEncodeやUri.EscapeDataStringのようなメソッドを使用してURLをエンコードできます。これらのメソッドは、文字をパーセントエンコード形式に変換し、インターネット上での安全な送信を確保します。 URLエンコードとデコードの違いは何ですか? URLエンコードは、特別な文字をパーセントエンコード形式に変換して、安全なデータ伝送をURLで確保します。一方、デコードはこれらのエンコードされた文字を元の形式に変換して、正確なデータ解釈を行います。 C#でURLからPDFを作成するにはどうすればいいですか? C#でIronPDFを使用してURLをPDFに変換することができます。IronPDFは、ウェブページの内容を直接キャプチャしてPDFドキュメントに変換し、正確なウェブリクエストのためのURLエンコード技術を統合します。 ウェブアプリケーションでURLエンコードが重要なのはなぜですか? URLエンコードは、ウェブアプリケーションでデータがURLに含まれて安全かつエラーなく送信されるようにするために重要です。安全でない文字をパーセントエンコード形式に置き換えることで、潜在的なデータ破損やセキュリティ問題を防ぎます。 C#でのPDF生成をどのようにURLエンコードで強化できますか? PDFを生成する前にURLエンコードを適用することで、ドキュメントに含まれるURLが正しく形式化され安全に送信されるようにすることができます。IronPDFのようなライブラリは、その後、ウェブコンテンツをPDFに変換するときにこれらのURLを正確に処理できます。 C#でのURLデコードのための方法は何ですか? C#はHttpUtility.UrlDecodeやUri.UnescapeDataStringのような方法を提供しています。これらのメソッドはエンコードプロセスを逆にし、パーセントエンコードされた文字を元の形式に戻します。 URLエンコードはAPI呼び出しをどのように助けますか? URLエンコードは、クエリパラメータ内の特別な文字が安全に送信されることを確保し、API呼び出し中のエラーを防ぎます。これはウェブアプリケーションでクライアントとサーバー間でデータを確実に渡すために不可欠です。 IronPDFは、PDFを生成するときにURLエンコードを自動的に処理できますか? はい、IronPDFはウェブページをPDFに変換するときにURLエンコードを自動で処理できます。PDF生成プロセス中にURLが正しく形式化され、処理されることを保証し、ウェブコンテンツとのシームレスな統合を提供します。 Jacob Mellor 今すぐエンジニアリングチームとチャット 最高技術責任者(CTO) ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。彼の主要なIronPDFとIron Suite .NETライブラリは、世界中で3000万以上のNuGetインストールを達成し、彼の基礎となるコードは世界中で使用されている開発者ツールに力を与え続けています。25年の商業経験と41年のコーディングの専門知識を持つJacobは、次世代の技術リーダーを指導しながら、エンタープライズグレードのC#、Java、Python PDFテクノロジーにおけるイノベーションの推進に注力しています。 関連する記事 更新日 2026年2月20日 CLIの簡素化と.NETの橋渡し:Curl DotNetとIronPDFを使う Jacob Mellorは、.NETエコシステムにcURLの親しみやすさをもたらすために作成されたライブラリ、CurlDotNetでこのギャップを埋めました。 詳しく読む 更新日 2025年12月20日 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む 更新日 2025年12月20日 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む C# Unit Testing(開発者向けの動作方法)IndexOf C#(開発者向けの動...
更新日 2026年2月20日 CLIの簡素化と.NETの橋渡し:Curl DotNetとIronPDFを使う Jacob Mellorは、.NETエコシステムにcURLの親しみやすさをもたらすために作成されたライブラリ、CurlDotNetでこのギャップを埋めました。 詳しく読む
更新日 2025年12月20日 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む
更新日 2025年12月20日 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む