メインメニューを開く

差分

編集の要約なし
[[Xamarin.MacからHFSMac]]から[[HFS+上のファイル名を取得すると文字コードがおかしい]]上のファイル名を取得すると[[文字コード]]がおかしい。[[Mono]]のコンソールアプリでも同様。
macOSが使っているHFSググると原因はmacOSが使っているHFS+の文字コードは「NFDというUTF-8によく似た独自仕様」であるために発生するらしい。マジでクソ仕様すぎるだろ…
なんと.NETでは標準でこれらを判別と変換する機能が用意されている。ググるとrubyなんかでも標準で同様の機能があるとのことなので、このmacOSのクソ仕様はほとんどの言語で考慮されているらしい。NETでは標準でこれらを判別と変換する機能が用意されている。ググると[[ruby]]なんかでも標準で同様の機能があるとのことなので、このmacOSのクソ仕様はほとんどの言語で考慮されているらしい。
IsNormalizedメソッドで判別
== 備考 ==
この記事の[[.NETとは関係ないがNET]]とは関係ないが* macOS標準搭載の「rsync」はNFD非対応。[[macOS]]標準搭載の「[[rsync]]」はNFD非対応。[[Linux]]なんかに送信すると残念なことになる。* Homebrew版の「rsync」はNFD対応。[[Homebrew]]版の「[[rsync]]」はNFD対応。
== 関連項目 ==
* [[NFD (Normalization Form Canonical Decompression)]]
 
[[category: Xamarin.Mac]]
匿名利用者