- 題名: 日本語を含む絶対パスから相対パスを取得するには
- 日時: 2005/06/07 17:22:16
- ID: 11171
- この記事の返信元:
- (なし)
- この記事への返信:
- [11173] Re[1]: 日本語を含む絶対パスから相対パスを取得するには2005/06/07 19:18:29
- ツリーを表示
HttpUtility クラスの UrlDecode メソッドを使用すればお望みの結果になるかと思います。 POSTによりファイルをダウンロードし表示する http://dobon.net/vb/dotnet/internet/webrequestpost.html にも書かれているように HttpUtility クラス を使用するには System.Web.dll を参照する 必要がありますので、その点だけご注意くださいませ。 #どーでもツッコミ > Dim uriRoot As Uri = New Uri("C:\data\TEST\日本.mpg") > Dim uriPath As Uri = New Uri(uriRoot, "C:\data") > Return uriRoot.MakeRelative(uriPath) > すると、戻り値が "data/TEST/%E6%97%A5%E6%9C%AC.mpg" になります この結果を得るのは uriRoot と uriPath が逆のとき‥‥ではないでしょうか?
分類:[.NET]
いつも勉強させていただいております。
この度、「相対パスから絶対パスを取得する、絶対パスから相対パスを取得する」
http://dobon.net/vb/dotnet/file/getabsolutepath.html
を参考(というかそのままですが)に、相対パスを取得するコードを書きました。
Dim uriRoot As Uri = New Uri("C:\data\TEST\日本.mpg")
Dim uriPath As Uri = New Uri(uriRoot, "C:\data")
Return uriRoot.MakeRelative(uriPath)
すると、戻り値が "data/TEST/%E6%97%A5%E6%9C%AC.mpg" になります
Uri を利用しているので、日本語表記に変換がかかってるのだろうなあ、と想像したもののナニを糸口に調べていけばいいのか見当がつかず、困っております。
ご教授願います。