~(多分全角チルダ)を〜(多分波ダッシュ)に変換する

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください