OS X のファイル名とパスで使用できない文字のリストはありますか?
答え1
?
許可されています。
HFS+ では0x00
( NUL
)と のみが禁止されています。:
:
ただし、POSIX ベースのソフトウェアでは次のように切り替わります/
。
この件について私を訂正してくれた Graham Lee に感謝します。
答え2
ダニエル・ベックが言ったように、NULと「:」(POSIXコンテキストでは「/」)は禁止されています。しかし、実際はもっと複雑です。HFS+ファイル名はUTF-8形式で保存され、完全に分解された形式で、構成文字は正規の順序で保存される必要があります(tn1150したがって、質問に対する答えは、「キャラクター」が何を意味するかによって異なります。
ファイル名を構成するバイトのシーケンスに関心がある場合、有効な UTF-8 ではない (または適切に分解されていない) シーケンスは禁止されます。
ユニコードコードポイントを意味しているのであれば、その分解ルールではアクセント付き文字を表すポイントは禁止されています(代わりに基本文字+結合アクセントとして保存する必要があります)(tn1150テーブル)。
答え3
ウィキペディアによると、http://en.wikipedia.org/wiki/HFS_PlusNUL を含む任意の Unicode 文字が許可されます。ただし、多くのアプリケーションでは、'/' などの独自の制限が課せられます。
答え4
MacOSでは、少なくともHFSとexFATでマウントされたファイルシステムでは、次のUTF-16文字シーケンス0x61(「a」)0x30a(リングオーバー)をサポートしていないようです。https://www.compart.com/en/unicode/U+030A)、リトルエンディアンへのバイトスワップ後のファイル名のバイトシーケンスを見ると、次のようになります。
「61 00 0a 03」
問題は、このバイト シーケンスが 0xE5 ("å") にエスケープされ、MacOS の一般的なホワイトアウト文字になる点にあると思います。
ディスクが書き込み禁止になっていない限り、そのようなファイルはそしてディレクトリは即座に削除されます。スカンジナビアの法執行機関で働く人々は、部門間でファイルや文書を送付する前に、これを注意深く読む必要があります。
この問題がいつ始まったのかは不明ですが、おそらく 70 年代初頭からこの状態が続いていたと思われます (VAX を思い出してください :-)
これらのファイルとディレクトリ名は、Linux、FreeBSD、または Windows コンピューターを使用して最も簡単に作成できます。ファイル エクスプローラーを開いて、上記の文字を含むドキュメントまたはディレクトリを作成するだけです。次に、ポータブル ディスクを MacOS コンピューターに接続して、何が起こるかを確認します。
便宜上、壊れた文字と、ドイツ語で「ウムラウト」と呼ばれるこれらの文字の例をいくつかここに貼り付けてみました。
å b̊ c̊