为了账号安全,请及时绑定邮箱和手机立即绑定

如何从字符串中删除二进制内容?

如何从字符串中删除二进制内容?

Go
守候你守候我 2021-11-22 15:03:58
我试图使用 golang 从 mp3 文件中读取 ID3 标签。我得到了结果。但正如我的数据库查看器所建议的那样,它们也包含一些二进制内容。有什么办法可以在 golang 中删除该内容?
查看完整描述

1 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

这是id3-go 中的当前问题:PR 8针对 id3v1 修复了它


但这对于 id3v2 来说还不够,如本次提交所示,它确实必须修剪那些空字符。请参阅cutset := string(rune(0)), 和 of的使用,TrimRight(s string, cutset string)例如strings.TrimRight(fd.Title(), cutset):


fd, err := id3.Open(path)

if err != nil {

    item.Title = f.Name()

} else {

    defer fd.Close()

    cutset := string(rune(0))

    title := strings.TrimRight(fd.Title(), cutset)

    author := strings.TrimRight(fd.Artist(), cutset)

    if len(title) > 0 {

        item.Title = title

    } else {

        item.Title = author

        if len(author) > 0 {

            item.Title += " - "

        }

        item.Title += strings.TrimRight(f.Name(), cutset)

    }

    item.Subtitle = author

    tcon := fd.Frame("TCON")

    if tcon != nil {

        item.Categories = append(item.Categories, Text{Value: strings.TrimRight(tcon.String(), cutset)})

    }

    item.PubDate = strings.TrimRight(formatYear(fd.Year()), cutset)


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信