精易论坛

标题: Sony播放器歌词ANSI修改为UTF8 [打印本页]

作者: hanjiangxue    时间: 2024-8-5 09:24
标题: Sony播放器歌词ANSI修改为UTF8
最近,淘了一个Sony-NWA105播放器,发现lrc歌词没法正常显示
于是,网上搜索解决方法,发现歌词格式ANSI要转UTF8格式。
具体流程是先将lrc改txt,然后将txt另存为utf8格式,再将txt后缀修改为lrc。
起码1000多首歌曲啊,改起来还不得累死
于是就写了这个小程序

  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
查找到的文件名文本型 
歌词文件文本型 
查找到的文件名 = 寻找文件 (取运行目录 ()“\*.lrc”, )
如果 (查找到的文件名 = “”)
编辑框1.内容 = “请将程序放在歌词文件夹下运行”


判断循环首 (查找到的文件名 ≠ “”)
' 调试输出 (查找到的文件名)
编辑框1.内容 = 编辑框1.内容 + 查找到的文件名 + #换行符
歌词文件 = 到文本 (读入文件 (取运行目录 ()“\” + 查找到的文件名))
' 调试输出 (歌词文件)
' 调试输出 (取运行目录 () + “\” + 查找到的文件名)
写到文件 (取运行目录 ()“\” + 查找到的文件名, 编码_Ansi到Utf8 (歌词文件))
查找到的文件名 = 寻找文件 (, )
判断循环尾 ()


作者: by626    时间: 2024-8-5 09:42
歌用耳朵听就行,多此一举..
作者: 勉勉    时间: 2024-8-5 09:57
感谢分享,支持开源~~
作者: 勉勉    时间: 2024-8-5 09:58
感谢分享,支持开源~~
作者: 布点脚本师    时间: 2024-8-5 10:19
感谢分享,支持开源~~
作者: wgqxj    时间: 2024-8-5 10:24
谢谢分享
作者: 胖子葛格    时间: 2024-8-5 11:40
感谢大神分享~!
作者: pipicool    时间: 2024-8-5 16:15
学习一下
作者: 艾玛克138    时间: 2024-8-5 21:29
老大出品,必属精品
作者: ttggnn    时间: 2024-8-5 21:40
支持开源~!感谢分享
作者: hanjiangxue    时间: 2024-8-5 22:53
[JavaScript] 纯文本查看 复制代码
.版本 2
.支持库 RegEx
.支持库 spec

.程序集 窗口程序集_启动窗口

.子程序 _按钮1_被单击
.局部变量 查找到的文件名, 文本型
.局部变量 歌词文件, 文本型
.局部变量 处理后歌词, 文本型
.局部变量 regexp, 正则表达式
.局部变量 替换位置, 整数型
.局部变量 数组, 搜索结果, , "0"
.局部变量 i, 整数型
.局部变量 子文本处理, 文本型
.局部变量 取子文本, 文本型
.局部变量 临时存储1, 文本型
.局部变量 临时存储2, 文本型

查找到的文件名 = 寻找文件 (取运行目录 () + “\*.lrc”, )
.如果 (查找到的文件名 = “”)
    编辑框1.内容 = “请将程序放在歌词文件夹下运行”
.否则
    .如果 (文件_取文本编码 (取运行目录 () + “\” + 查找到的文件名) = 4)
        .判断循环首 (查找到的文件名 ≠ “”)
            调试输出 (查找到的文件名)
            编辑框1.内容 = 编辑框1.内容 + 查找到的文件名 + #换行符
            歌词文件 = 到文本 (读入文件 (取运行目录 () + “\” + 查找到的文件名))
            ' 调试输出 (歌词文件)
            ' 调试输出 (取运行目录 () + “\” + 查找到的文件名)

            regexp.多行模式 = 真
            regexp.创建 (“[0-9][0-9]:[0-5][0-9].[0-9][0-9][0-9]”, )
            数组 = regexp.搜索全部 (歌词文件)
            临时存储1 = 歌词文件
            .计次循环首 (取数组成员数 (数组), i)
                取子文本 = 数组 .取匹配文本 (歌词文件, )
                ' 调试输出 (取子文本)
                子文本处理 = 取文本左边 (取子文本, 取文本长度 (取子文本) - 1)
                ' 调试输出 (子文本处理)
                临时存储2 = 子文本替换 (临时存储1, 取子文本, 子文本处理, 1, 1, 真)
                临时存储1 = 临时存储2
            .计次循环尾 ()

            调试输出 (临时存储1)
            歌词文件 = 临时存储1
            写到文件 (取运行目录 () + “\” + 查找到的文件名, 编码_Ansi到Utf8 (歌词文件))
            查找到的文件名 = 寻找文件 (, )

        .判断循环尾 ()
    .否则
        编辑框1.内容 = “歌词格式非ANSI,本软件不支持转换”
    .如果结束

.如果结束


作者: hanjiangxue    时间: 2024-8-5 22:54
更新了一下索尼A105无法显示歌词,原因是时间3位要改2位
作者: jtucar    时间: 2024-8-6 08:57
感谢分享!
作者: jtucar    时间: 2024-8-6 08:59
感谢分享!
作者: 396384183    时间: 2024-8-7 15:59
支持开源~!感谢分享
作者: 光影魔术    时间: 2024-8-8 13:17
感谢分享源码
作者: 熊不熊    时间: 2024-12-4 21:06
感谢分享,很给力!~




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4