cygwinのターミナル上では両方違う文字で表示されるんですけどねぇ…。
やり方
$ sed 's/\xef\xbd\x9e/\xe3\x80\x9c/g' 元ファイル > 出力ファイル
いきさつ
windowsで emacsを使ってテキストファイルを編集した際、勝手に波ダッシュを全角チルダに変換されてハマる事がありました。
オーディオプレイヤーとして使っている DP-CMX1 GUPですが、プレイリスト(.m3u)ファイルを選択すると、その内容を再生できます。
しかも、プレイリストからの再生では「すべて再生」が選べないのに、プレイリストファイルからの場合は「すべて再生」が選べるのです。
これは、曲順をランダムにしている時に、最初の1曲をランダムにできるという事になります。
なので私は、基本的に PCでプレイリストを(手作業で)編集しています。
.m3uの作り方ですが、あるディレクトリ配下を全部プレイリストに突っ込む場合、例えばこんな感じでできちゃいます。
$ find フォルダ名 -type f -name "*.flac" > プレイリスト名.m3u
これをベースにして、手作業でよく聞く曲のみをエディタで残して他を削除しています。
実際には、これだと色々入り過ぎるので、こんな感じにしています。
$ find CINDERELLA\ GIRLS/ -type f -name "*.flac" | grep -v "ドラマ" | grep -v "カラオケ" | grep -v "ボーナス" | grep -iv GAME > CINDERELLA\ GIRLS_all.m3u $ find e-onkyo/デレステ/ -type f -name "*.flac" >> CINDERELLA\ GIRLS_all.m3u $ find e-onkyo/ミリシタ/ -type f -name "*.flac" >> CINDERELLA\ GIRLS_all.m3u $ find ゲーム/The\ Remixes\ Collection\ The\ Idolm\@ster\ To\ D\@nce\ To/ -type f -name "*.flac" >> CINDERELLA\ GIRLS_all.m3u $ find ゲーム/THE\ IDOLM@STER\ SideM\ ANIMATION\ PROJECT\ 01\ Reason!!/ -type f -name "*.flac" >> CINDERELLA\ GIRLS_all.m3u
(CINDERELLA GIRLSじゃないのが混ざってるのは気にしないで…)
で、エディタは emacsを使っているのですが、冒頭にある通り、こいつが勝手に波ダッシュを全角チルダに変換します。
そうすると、そのプレイリストの文字列と、実際のフォルダ名、ファイル名が異なる事になるため DP-CMX1のプレイヤーは曲ファイルを認識できません。
そして、プレイリストからの再生もできないという事になります。
「STARLIGHT MASTER 13 Sweet Witches’ Night 〜6人目はだぁれ〜」このディレクトリでやられました。
気づくのにしばらくかかった…。
emacsを使わなければ済む話ですが、指が emacsなんですよ…
蛇足
その1
Cygwinで、フォントをMigu 1Mあたりに変えてやると、もう少しきれいに表示できます。
その2
確認方法は以下な感じで。
多分 全角チルダ
$ echo -n "~" | hexdump.exe 0000000 bdef 009e 0000003
多分 波ダッシュ
$ echo -n "〜" | hexdump.exe 0000000 80e3 009c 0000003