一键转换CUE文件编码

技术

写完作业逛PT站发现 Beyond 专辑合集的 CD,想到网易云音乐里面没有一直很喜欢的 Beyond 的《长城》,遂让树莓派花了半个小时时间把它拖到了本地。

然后用VLC播放,发现歌曲列表中文全是乱码??但播放一切正常,猜测是编码问题,搜索发现是因为GBK编码的文本在Linux下不被VLC识别,需要有一个编码转换的操作。

想起 PHP 有个 iconv 扩展,似乎内部是通过 iconv 类库实现的,大胆地猜测一下, Linux 下是否也有个调用 iconv 的程序呢?

尝试了一下,发现还真有!

查询了一下命令的使用方式,试着执行了 iconv -f gbk -t utf-8 CDImage.cue

2264253657.png2264253657.png

效果还是非常Nice的,接着把 iconv 的输出重定向 CDImage-UTF8.cue,命令如下:

iconv -f gbk -t utf-8 CDImage.cue > CDImage-UTF8.cue

再写段 Shell 脚本批量转换各个专辑的子文件夹内的 CDImage.cue 文件:

#!/bin/sh
find $1 -mindepth 1 -maxdepth 1 -type d | while read -r file
    do
      iconv -f gbk -t utf-8 "$file""/"CDImage.cue > "$file""/"CDImage-UTF8.cue
    done

Perfect

3603237321.png3603237321.png

扯了那么多,其实我想表达的只有一句话:Linux真好用~