Macのファイル名とかは、濁点・半濁点が不自然になっています。
それはUTF8-MacとかNFDとかと呼ばれているらしいです。
C#では、以下のメソッドを使って通常の表記(NFC)に変換することができたり、NFCかを判定することができるみたいです。
プログラム
NFCに変換:
var converted = "ぱぴぷぺぽパピプペポ".Normalize();
NFCかどうかを判定:
var isNfc = "ぱぴぷぺぽパピプペポ".IsNormalized();
NormalizationForm 列挙体
上述のようなNFDからNFCへ変換ばかりでなく、NormalizationForm 列挙体を使えばNFDへの変換やNFDかの判定が行えるようです。
参考文献
- String.IsNormalized メソッド (System) https://msdn.microsoft.com/ja-jp/library/vstudio/system.string.isnormalized(v=vs.100).aspx
- String.Normalize メソッド (System) https://msdn.microsoft.com/ja-jp/library/vstudio/system.string.normalize(v=vs.100).aspx
- NormalizationForm 列挙体 (System.Text) https://msdn.microsoft.com/ja-jp/library/vstudio/system.text.normalizationform(v=vs.100).aspx
- Mac OS X の NFD 問題での対策諸々:http://qiita.com/knaka/items/48e1799b56d520af6a09
- 変換のテスト:https://github.com/ssashir06/UTF8MacConvert/blob/master/UTF8MacConvert/UnitTest1.cs