Encode::UTF8Mac - Mac OS Xのファイル名のエンコーディング



  1. Perl




  2. モジュール



  3. here

 Mac OS XUTF-8ファイルシステムエンコーディングとして採用していると思いきや、実は少し異なり、Mac OX X独自の仕様になっています。これを正しく扱うためにはEncode::UTF8Macというモジュールを利用すると簡単です。

use Encode qw/encode decode/;
use Encode::UTF8Mac;

# エンコード
my $byte = encode('utf-8-mac', $string);

# デコード
my $string = decode('utf-8-mac', $byte);

 useを使ってEncode::UTF8Macを読み込むと、Encodeモジュールのエンコーディングとしてutf-8-macを利用できるようになります。このエンコーディングを利用すれば、Mac OS Xのファイル名を正しく扱うことができます。

 Encode::UTF8Macを利用する方法は、Text::IconvなどのMac OS X独自の方法を利用しないで、標準的なEncodeモジュールを利用できるという点でおすすめです。