请选择 进入手机版 | 继续访问电脑版

苹果发烧友论坛

 找回密码
 注册
查看: 1721|回复: 3

[分享] 一个小脚本,解决osx中播放cue时的编码问题

  [复制链接]
发表于 2011-11-1 18:57:49 | 显示全部楼层 |阅读模式
以前用win7的,很习惯用foobar听ape,在lion下的Cog中也能干,但是cue文件中如果不是utf-8编码的话,cog就不能正常打开cue文件来播放了。

知道问题时windows的遗留问题,好,解决之,查查百度,凑了段脚本出来,可以把给定目录下的cue文件自动转换成utf-8格式,转换的格式另存为了u8-打头的同名文件:


#-*-coding:utf-8-*-
__author__ = 'chenlong828'
import os
import chardet


def get_utf8(source):
    result = chardet.detect(source)
    dest = unicode(source, result['encoding'])
    dest = dest.encode('utf-8')
    return dest

def do_cue_conv(path,file_name):
    cue_content = file(path + file_name).read(-1)
    cue_content = get_utf8(cue_content)
    print(cue_content)
    fd = file(path + 'u8-' + file_name,'w')
    fd.write(get_utf8(cue_content))



if __name__ == '__main__':
    dir_info = os.walk(os.getcwd())
    for path, dir_list, file_list in dir_info:
        for file_name in file_list:
            if '.cue' in file_name:
                if 'u8-' in file_name:
                    pass
                else:
                    try:
                        do_cue_conv(path + '/' , file_name)
                        print "succeed: %s" % file_name
                    except :
                        print "error: %s" % file_name

用到了一个python的库:chardet,不知道该怎么上传附件,伤不起,呵呵。
发表于 2011-11-1 19:35:12 | 显示全部楼层
支持技术贴
回复 支持 反对

使用道具 举报

发表于 2011-11-2 11:22:07 | 显示全部楼层
请问时间效率如何, 写个c的吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-3 10:14:40 | 显示全部楼层
leochrist 发表于 2011-11-2 11:22
请问时间效率如何, 写个c的吧。

个人200G的APE也就用了两三分钟,没必要写C吧?
回复 支持 反对

使用道具 举报

QQ|小黑屋|手机版|Archiver|苹果发烧友论坛 ( 京ICP备16012027号-3 )

GMT+8, 2017-9-20 06:34 , Processed in 0.011002 second(s), 9 queries , Xcache On.

Powered by Discuz! X3.3 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表