<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
<channel>
<title>「相対パスから絶対パスを取得する、絶対パスから相対パスを取得する」へのコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=file%2Fgetabsolutepath.html</link>
<description>「相対パスから絶対パスを取得する、絶対パスから相対パスを取得する」に投稿されたコメントの一覧</description>
<language>ja</language>
<image>
<url>https://dobon.net/banner/dbs1.gif</url>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=file%2Fgetabsolutepath.html</link>
<title>「相対パスから絶対パスを取得する、絶対パスから相対パスを取得する」へのコメント</title>
<width>88</width>
<height>31</height>
</image>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=file%2Fgetabsolutepath.html#18</link>
<description><![CDATA[相対から絶対パス変換ですが<br>単純に　Path.Combine　Path.GetFullPath　ではダメなパターンがあると言うことですか？<br>Path.GetFullPath(Path.Combine(@&quot;C:\Windows\System&quot;,@&quot;..\file.text&quot;));<br>NET Framework 4.5　]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#17</link>
<description><![CDATA[&gt; 「URLエンコード、デコードされないようにする」項目の冒頭部分に誤記があると思います。<br>&gt; 誤：相対パスを取得する時と同様に、絶対パスを取得する場合でも<br>&gt; 正：絶対パスを取得する時と同様に、相対パスを取得する場合でも<br><br>修正しました。ありがとうございました。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#16</link>
<description><![CDATA[「URLエンコード、デコードされないようにする」項目の冒頭部分に誤記があると思います。<br>誤：相対パスを取得する時と同様に、絶対パスを取得する場合でも<br>正：絶対パスを取得する時と同様に、相対パスを取得する場合でも]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#15</link>
<description><![CDATA[&gt; UriDecode する前に、relativePath = relativePath.Replace(&quot;+&quot;, &quot;%2B&quot;); しておくのが吉。<br><br>「+」がデコードされないように、#?%だけをデコードするか、Uri.UnescapeDataStringでデコードするのがよさそうですね。記事を修正したいと思います。ご報告、ありがとうございました。]]></description>
</item>
<item>
<title>評価の理由</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#14</link>
<description><![CDATA[評価：良い<br>&gt;UriDecode する前に、relativePath = relativePath.Replace(&quot;+&quot;, &quot;%2B&quot;); しておくのが吉。<br><br>がなぜ+だけかと思って調べてみましたらパーセントエンコーディングで半角スペースが+に変換されるからなんですかね？]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#13</link>
<description><![CDATA[訂正：UriDecode → UrlDecode<br>追記：「補足」のサンプルソースについてです。確認したのは C#2008 ＋ .NET 3.5です。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#12</link>
<description><![CDATA[ファイル名・パス名に半角 '+' が含まれていると、UrlDecode() で '+' が化けます。<br>UriDecode する前に、relativePath = relativePath.Replace(&quot;+&quot;, &quot;%2B&quot;); しておくのが吉。<br>他の半角文字は大丈夫な模様。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#11</link>
<description><![CDATA[MakeRelativeUriを使った場合、基準のURIが最後に\\で終わらない場合はファイルが基準に指定されたとみなすようです。そのためディレクトリのつもりで指定すると、１階層余分なパスが付加されてしまいます。私は基準パスの最後がコロンや\でない場合、\を付加する処理を追加して使うことにします。]]></description>
</item>
<item>
<title>評価の理由</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#10</link>
<description><![CDATA[評価：良い<br>わかりやすいです。ありがとうございます。]]></description>
</item>
<item>
<title>評価の理由</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#9</link>
<description><![CDATA[評価：良い<br>非常に分かりやすいです]]></description>
</item>
<item>
<title>評価の理由</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#6</link>
<description><![CDATA[評価：良い<br>良くやることがまとまっていて、<br>すごくわかりやすいです。感謝します。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#5</link>
<description><![CDATA[&gt; でもこれって、マルチバイト文字とか対応してないような気が・・・<br><br>相対パスを取得する例の方ですね。確かに、URLデコードが必要になりますね。追記させていただきます。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#4</link>
<description><![CDATA[でもこれって、マルチバイト文字とか対応してないような気が・・・]]></description>
</item>
<item>
<title>.NET Frameworkのバージョンによる違い</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#8</link>
<description><![CDATA[.NET Framework 2.0では、<br>  System.IO.Path.GetFullPath(&quot;..\\file.txt&quot;)<br>で例外が発生してしまいました。<br>しかし、<br>  Uri u1 = new Uri(System.IO.Directory.GetCurrentDirectory());<br>  Uri u2 = new Uri(u1， &quot;..\\file.txt&quot;);<br>  Console.WriteLine(u2.LocalPath);<br>とすると絶対パスを取得できました。<br><br>＃いずれにせよ、Uriクラスを使うことで解決できました。<br>＃ありがとうございます。]]></description>
</item>
<item>
<title>.NET Frameworkのバージョンによる違い</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=file%2Fgetabsolutepath.html#7</link>
<description><![CDATA[.NET Framework 2.0からはMakeRelativeUri()が追加されたので、MakeRelative()の使用は薦められないそうです。<br><br>＜情報元＞<br>http://msdn2.microsoft.com/ja-jp/library/system.uri.makerelative(VS.80).aspx<br>http://msdn2.microsoft.com/ja-jp/library/system.uri.makerelativeuri(VS.80).aspx]]></description>
</item>
</channel>
</rss>