最近,一朋友买了个魅族的M8手机,整天拨弄,爱不释手。一次找我说,下载了一堆lrc歌词,结果在M8里播放都是乱码,怎么回事,有没有什么解决办法。我说,好办,其实是gb2312和unicode编码的问题,给你写个python脚本就搞定一切:
使用方式如下:
1. 乱码歌词放在 D:\temp\lrc_gbk\ 目录中(在windows下显示正常的gb2312编码歌词文件)
2. 创建保存目录 D:\temp\lrc_unicode(用于输出M8可以正常阅读的unicode歌词文件)
3. 运行上面代码,最后的M8可用歌词文件就输出在lrc_unicode目录中了
给他脚本之后,一运行,输出结果,拷贝至M8里一使,乐坏了。他都没想到短短几行代码这么有用。我当然就趁机把他教育了一顿,叫他回去也好好学学程序,学学python。这东西毕竟不复杂,但是很有用。对于程序设计,很多不了解的人总以为它有多高深。而我们经常接触的,把不得订外卖、煮咖啡等日常事务都用它来完成。
import os
import glob
import codecs
files = glob.glob(r'd:\temp\lrc_gbk\*.lrc')
savepath = r'd:\temp\lrc_unicode'
for file in files:
print '>>', file
fh = open(file)
ct = fh.read()
new_ct = unicode(ct, 'utf8')
path, filename = os.path.split(file)
try:
fwh = codecs.open(os.path.join(savepath, filename), 'w', encoding='gb2312')
fwh.write(new_ct)
fwh.close()
except Exception, e:
print e
使用方式如下:
1. 乱码歌词放在 D:\temp\lrc_gbk\ 目录中(在windows下显示正常的gb2312编码歌词文件)
2. 创建保存目录 D:\temp\lrc_unicode(用于输出M8可以正常阅读的unicode歌词文件)
3. 运行上面代码,最后的M8可用歌词文件就输出在lrc_unicode目录中了
给他脚本之后,一运行,输出结果,拷贝至M8里一使,乐坏了。他都没想到短短几行代码这么有用。我当然就趁机把他教育了一顿,叫他回去也好好学学程序,学学python。这东西毕竟不复杂,但是很有用。对于程序设计,很多不了解的人总以为它有多高深。而我们经常接触的,把不得订外卖、煮咖啡等日常事务都用它来完成。
本文介绍了一个简单的Python脚本,该脚本能够解决魅族M8手机中歌词文件因编码问题导致的乱码现象。通过将gb2312编码的歌词转换为Unicode编码,确保了歌词在M8上的正确显示。
936

被折叠的 条评论
为什么被折叠?



