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

将 "=?UTF 8?.." (RFC 2047) 转换为 golang 中的常规字符串

将 "=?UTF 8?.." (RFC 2047) 转换为 golang 中的常规字符串

Go
回首忆惘然 2021-09-20 15:06:01
我正在使用 API,它为其他语言文本返回如下内容:=?UTF 8?B?2KfZhNiu2LfZiNin2Kog2KfZhNiq2Yog2KrYrNmF2Lkg2KjZitmG?= =?UTF 8?B?INit2YHYuCDYp9mE2YLYsdin2ZPZhiDYp9mE2YPYsdmK2YUg2YjZgQ==?= =?UTF 8?B?2YfZhdmHINmF2YXYpyDYp9mU2YXZhNin2Ycg2KfZhNi52YTYp9mF?= =?UTF 8?B?2Kkg2LnYqNivINin2YTZhNmHINin2YTYutiv2YrYp9mGLnBkZg==?=这是通用格式吗?我将如何将其转换为 golang 中的常规字符串?Golang 通常可以很好地处理多种语言,但我不确定如何进行转换。
查看完整描述

2 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

从 Go 1.5 开始,您可以使用mime.WordDecoder.DecodeHeader:


package main


import (

    "fmt"

    "mime"

)


func main() {

    dec := new(mime.WordDecoder)

    header, err := dec.DecodeHeader("=?UTF-8?B?2KfZhNiu2LfZiNin2Kog2KfZhNiq2Yog2KrYrNmF2Lkg2KjZitmG?= =?UTF-8?B?INit2YHYuCDYp9mE2YLYsdin2ZPZhiDYp9mE2YPYsdmK2YUg2YjZgQ==?= =?UTF-8?B?2YfZhdmHINmF2YXYpyDYp9mU2YXZhNin2Ycg2KfZhNi52YTYp9mF?= =?UTF-8?B?2Kkg2LnYqNivINin2YTZhNmHINin2YTYutiv2YrYp9mGLnBkZg==?=")

    if err != nil {

        panic(err)

    }

    fmt.Println(header)

    // Output: لخطوات التي تجمع بين حفظ القرآن الكريم وفهمه مما أملاه العلامة عبد الله الغديان.pdf

}

如果你使用的是旧版本的 Go,你可以使用我的替换库:https : //github.com/alexcesaro/quotedprintable


查看完整回答
反对 回复 2021-09-20
  • 2 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

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