`

linux下转换中文歌名编码的好帮手

阅读更多

自从用了ubuntu之后,一直有一件事比较郁闷,就是有些从网上下载的歌曲,在ubuntu的播放器中会显示乱码,而在windwos下任意播放器中都显示正常。大概是因为linux和windows下对文件编码的识别存在差异。

碰巧在ubuntu中文论坛遇上了一个好工具, 可以方便转换歌曲信息编码, 于是ubuntu下能正常看到中文了,开心。这个工具还是带图形界面的, 使用很简单,叫做konvid:

http://nlyrics.7do.net/konvid/screenshot.html

 

不过还有一个朋友提供了一段脚本:

xiooli(~)╠♦ cat ./.bin/mrename
#!/bin/bash
# coded by xiooli
#用法:
#   1,重命名:先cd到你的音乐目录,然后在终端里运行脚本mrename,将会对当前目录的所有拥有标签
#的音乐进行重命名,格式为:标题-艺人.扩展名,改名对应情况会记录在当前目录下的 remane-时间.list 文
#件里,方便恢复;
#   2,恢复原名:mrename -r ./remane-时间.list
#注意:
#   需要安装python-mutagen包,运行时会更新音乐标签的编码为当前locale。

rename() {
   list="rename-$(date +%m-%d-%k-%M).list"
   >"$list"
   ls |while read name;do
      ar=`mid3v2 -l $name |grep TPE1 |sed 's/^.*=//'`
      ti=`mid3v2 -l $name |grep TIT2 |sed 's/^.*=//'`
      tl=`echo $name |sed 's/^.*\.//'`
      [ "$ti" ] && mid3iconv -e gb2312 "$name"
      [ "$ti" ] || continue
      [ "$name" != "$ti-$ar.$tl" ] && mv "$name" "$ti-$ar.$tl" &&\
      echo -e "重命名\033[;32m <$name> \033[0m为\033[;32m <$ti-$ar.$tl> \033[0m" \
      && echo "$name:$ti-$ar.$tl" >>"$list"
   done   
   
}
recover() {
   for lst in `cat $1 |sort |uniq`;do
      nm1=`echo $lst |sed 's/^.*://'`   
      nm0=`echo $lst |sed 's/:.*$//'`
      [ -e "$nm1" -a ! -e "$nm0" ] && mv "$nm1" "$nm0" &&\
      echo -e "恢复\033[;32m <$nm1> \033[0m为\033[;32m <$nm0> \033[0m"
   done
}

if [ "$1" = "-r" ];then
   echo "即将从 "$2" 中恢复命名"
   read -p "确认?y/n :" a
   if [ $a = "y" ];then
      [ "$2" ] && recover "$2"
      [ "$2" ] || echo "未选择list文件!"
   else
      exit
   fi
else
   echo "即将重命名当前文件夹的所有音乐"
   read -p "确认?y/n :" b
   [ $b = "y" ] && rename
fi

 也不知道有用没有,看起来很牛b

分享到:
评论

相关推荐

    UNIX/LINUX下C语言中文短信UCS2编码和解码函数源码

    发送中文短信,会用到UCS2编码,很多网友反应中文发送和接收乱码,这个烦恼可以解决了。 注意:要在系统配置里增加 LANG=zh_CN.GB18030 export LANG 语言配置不对,这个函数会出错的,另外,例子有点问题,换一个...

    JS实现URL编码转换中文

    ### JS实现URL编码转换中文 在Web开发过程中,经常需要处理URL中的特殊字符,特别是中文字符。由于URL传输限制及浏览器解析原因,中文等非ASCII字符需要被编码为特定格式才能在网络上传输。本文将详细介绍如何使用...

    Linux下中文文件名乱码问题的详解 - CSDN博客1

    文章中提到,作者在项目中遇到了生成的压缩包文件(可能是通过tar或gzip命令创建的)在Linux下显示中文文件名时出现乱码的问题。他们发现,Windows系统默认使用GBK编码,而Linux默认使用UTF-8编码,因此在处理文件名...

    中文转换成十六进制编码

    总之,将中文字符转换为十六进制编码是一个实用的操作,它可以帮助我们更好地理解字符在计算机内部的存储方式,以及解决跨平台、跨编码的兼容性问题。通过熟练掌握这一技能,可以提升我们在处理字符编码问题时的效率...

    Linux查看文件编码格式及文件编码转换

    在Linux环境下,有时候需要对文件的编码进行转换以适应不同的应用场景或需求。以下是几种常见的文件编码转换方法: #### 使用Vim转换文件编码 1. **直接在Vim中转换**:打开文件后,可以在Vim命令模式下直接设置...

    中文转换成NCR编码

    "中文转换成NCR编码"是解决跨平台或跨浏览器字符显示问题的一种常见方法,特别是在生成HTML文件时遇到中文乱码的问题。NCR(Numeric Character Reference)编码是一种在XML、HTML和SGML等标记语言中表示Unicode字符...

    Linux字符集编码转换.docx

    Linux 字符集编码转换 Linux 字符集编码转换是一个非常重要的概念,在 Linux 操作系统中,字符集编码转换是必备的知识。本文将从基础概念开始,逐步引导读者了解字符集编码转换的相关知识。 首先,让我们了解什么...

    解决linux下oracle中文乱码问题,添加中文支持

    解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码...

    关于linux编码转换的DOC文档

    总的来说,理解和掌握Linux系统中的编码转换对于跨平台工作至关重要,特别是涉及到中文字符和其他多语言环境时。`iconv`和`enca`是两个实用的工具,能够帮助我们在面对编码问题时有效应对。在编写自动化脚本或进行...

    TXT电子书批量转换中文Unicode编码

    "TXT电子书批量转换中文Unicode编码"这个工具就是为了应对这种情况而设计的。它是一个高效、便捷的解决方案,帮助用户将TXT格式的电子书从非Unicode编码转换为Unicode编码,确保在各种设备上都能正确显示中文字符。 ...

    礼光歌库数字歌名转中文歌名工具.rar

    礼光歌库数字歌名转中文歌名工具是一款专门针对礼光歌库设计的应用程序,它的主要功能是将歌库中的数字歌名转换为易于理解的中文歌名。在KTV行业中,为了方便管理和存储大量的歌曲,有些歌库会采用数字编码的方式来...

    GBK编码和中文的相互转换软件

    中文和GBK编码的相互转换,感谢您的使用。

    中文短信编码转换工具

    通过理解这些编码原理和技术,可以更好地理解和使用“中文短信编码转换工具”,提高与GSM网络交互的效率和便利性。无论是通信开发、短信服务提供商还是普通用户,掌握这些知识都能在处理中文短信时游刃有余。

    Linux系统中关于文件编码以及编码的转换

    - 将原有的模板中文转换为GB2312编码。 - 或者将以后添加的主机信息中的中文转换为UTF-8编码。 选择第二种方案,即使用enca或iconv工具将CLI中脚本产生的GBK编码文件转换为UTF-8编码,以保持数据一致性。 ####...

    RouterOS软路由中文编码转换,RouterOS使用中文备注

    本资源提供了一种解决方案,即中文编码转换工具,它能够将中文转换为RouterOS可以识别的编码格式。这样的工具对于那些需要在RouterOS中处理中文信息的用户来说非常实用,例如在中国地区部署网络、设置中文标识或者...

    GBK编码转换汉字,汉字转换GBK编码,VC代码实现

    在IT行业中,编码转换是一个常见的任务,特别是在处理中文字符时。GBK编码是GB2312编码的扩展,用于表示更多的汉字和符号,是简体中文环境下广泛使用的一种字符编码。VC++,作为Microsoft的C++开发环境,提供了丰富...

    一网打尽中文编码转换---6种编码30个方向的转换

    中文编码转换是编程中不可或缺的一部分,特别是在处理中文字符时。本文将深入探讨6种主要的中文编码:GB2312、Big5、GBK、Unicode(小端序)、Unicode(大端序)以及UTF-8,并阐述它们之间的30种转换路径。编码转换...

    linux下中文文件夹乱码离线安装包convmv

    它支持多种字符集转换,包括GBK、GB2312、BIG5等常见中文编码到UTF-8,从而确保中文文件名在不同编码环境下能够正确显示。在Linux系统中,由于默认的编码通常为UTF-8,当遇到非UTF-8编码的文件或目录时,就可能出现...

    解决linux下pdfbox转中文pdf为图片的问题

    java用pdfbox转pdf为图片文件时,如果pdf有中文,则会出现乱码(windows下正常,linux下乱码),改用icepdf后问题解决,而且能够轻松设置欲转换成图片的格式和大小.icepdf对中文支付非常强大,以下是实例代码,可以...

Global site tag (gtag.js) - Google Analytics