りんけーじ - 日記 - 2007/11/16 18:02 [全角のチルダ]



< 2007年11月 >
28293031123
45678910
11121314151617
18192021222324
2526272829301
前の日記: 2007/10/19 22:25 [バニラ]
次の日記: 2007/11/19 21:55 [第二回]

「ストリーミングサーバ、動いてる?」とか突然お隣の人に聞かれて、存在を思い出しました。

mp3 ファイルを持っているのは silky サーバで、ストリーミングサーバ・デーモンである scast もこの上で動きます。普段は silky に samba で接続して、それを iTunes で管理して聞いたりしてます。

プレイリストは iTunes で作って、これをテキストで書き出して Perl で処理、silky 上のファイルのパスに変換してサーバが食べます。しかしここで、全角チルダが盛大にお邪魔をしてくれました。

Wikipedia の項目に書かれるくらいには有名な問題なのですが、簡単に言うと Windows 上で全角チルダ(または波ダッシュ)を CP-932(Shift JIS の親戚) と Unicode で変換したりすると、ほかの OS との互換性が失われる、といったところでしょうか。

まず、ファイル名に全角チルダが入っていてアクセスできず。生成したプレイリストには 0xAC 0xC1 と書かれているけど、実際のファイル名は 0x8F 0xA2 0xB7 になっていたので、プレイリストの変換プロセスの最後で変換。

次に、ID3 タグの中では 0xFF 0x5E と書かれていたけど、これを iconv で Shift-JIS に変換しようとするとエラーになるので、0x30 0x1C に直してから iconv。

これですっきり快適に。

ところで、いい加減サーバが異常終了すると mpg321 だの lame だのが残っちゃう問題とか、直さないとなー。

クラスってなに?一言でいうと??とか聞かれて悶絶しました。私の(苦し紛れの)答えは「struct とそれに関する操作をする関数のセット」

オブジェクト指向とかの本読むといいよーって逃げたら、オブジェクト指向って?と聞かれて即死。自分の説明の下手っぷりがよく実感できました。

てか、お願いだから図書館に行って!

コメント(0) トラックバック(0)

コメントフォーム

(必須)

<Trackback URI> http://linkage.white-void.net/cgi/tb.cgi/diary/2007111601