「Windowsのパス長さ制限に関して」の版間の差分

Notion-MW
Notion-MW
183行目: 183行目:


ただし、逆にWindowsにない制限として、Unixではそれぞれの<strong>ファイル名の長さ上限が255バイト</strong>という制限がある(Windowsと違って<strong>パス長さ</strong>の制限は4096なので、長さ200バイトの名前のフォルダの中に長さ200バイトの名前のフォルダを作るにあたっては不自由がない)。また、エンコードはUTF&#45;8を基準に計算されるので、3バイトで表現される通常の日本語の文字(ひらがなや漢字)だと85文字、U+10000を超えるような文字(𩸽など)だと4バイト分なので63文字しか入らない。Windows上ではこれらを超える長さのフォルダを作れるが、Git Bashではそこにcdできないということになる。
ただし、逆にWindowsにない制限として、Unixではそれぞれの<strong>ファイル名の長さ上限が255バイト</strong>という制限がある(Windowsと違って<strong>パス長さ</strong>の制限は4096なので、長さ200バイトの名前のフォルダの中に長さ200バイトの名前のフォルダを作るにあたっては不自由がない)。また、エンコードはUTF&#45;8を基準に計算されるので、3バイトで表現される通常の日本語の文字(ひらがなや漢字)だと85文字、U+10000を超えるような文字(𩸽など)だと4バイト分なので63文字しか入らない。Windows上ではこれらを超える長さのフォルダを作れるが、Git Bashではそこにcdできないということになる。
<span id="webdav"></span>
=== WebDAV ===
Windowsでは、<code>host&#58;port</code>において稼働しているWebDAVサーバーの<code>my/folder</code>というフォルダに、<code>\\host@port\my\folder</code>あるいは<code>\\host@port\DavWWWRoot\my\folder</code>というパスでアクセスできる。ただし前者は<strong>トップディレクトリに関しては機能しない</strong>(アクセスできませんと言われる)ので注意。とはいえ後者はexplorerのアドレスバーが<code>http&#58;//host&#58;port/my/folder</code>というHTTP形式の表示になってしまうのが扱いづらい。
そして、WebDAVに関しても(詳細は調べていないが)260文字程度以上の長さのフォルダにはアクセスできない。しかも、<code>\\?\UNC</code>や(ネットワークドライブを割り当てたとして)<code>\\?\</code>を付けてもアクセスできず、どうやっても表示する方法はわからなかった。また、260文字程度の長さになるファイルも表示されなくなるなどした。
長いパスのファイルを含むWebDAVサーバーをまともに使うのであれば、WinFSPなどでマウントした方が良さそうである。


== 結論 ==
== 結論 ==