1 回答
TA贡献1806条经验 获得超5个赞
您声称 Spotify 个人资料图片是ISO 8850-1编码/加密的说法毫无意义。
更有意义的是它是 Base64 编码的。
例如,
面向开发人员的 Spotify:Web API:上传自定义播放列表封面图片。
Base64 编码的 JPEG 图像数据,最大负载大小为 256 KB
在围棋中,
包base64
import "encoding/base64"
base64 包实现了 RFC 4648 指定的 base64 编码。
另一个证据:“UTF-8 格式的 HTTPS 请求”
面向开发人员的 Spotify:Web API
要求
Spotify Web API 基于 REST 原则。通过以 UTF-8 格式向 API 端点发送标准 HTTPS 请求来访问数据资源。
例如。使用您的 Stack Overflow 个人资料图片:
package main
import (
"encoding/base64"
"fmt"
"io/ioutil"
"net/http"
"os"
)
func grabImageBytes(imageURL string) ([]byte, error) {
req, err := http.NewRequest("GET", imageURL, nil)
if err != nil {
return nil, err
}
res, err := http.DefaultClient.Do(req)
if err != nil {
return nil, err
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
return nil, err
}
enc := base64.StdEncoding
img := make([]byte, enc.EncodedLen(len(body)))
enc.Encode(img, body)
return img, nil
}
func main() {
imageURL := `https://lh5.googleusercontent.com/-P8ICR-LXoBs/AAAAAAAAAAI/AAAAAAAAE04/fVAeB6_nMeg/photo.jpg?sz=328`
img, err := grabImageBytes(imageURL)
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
fmt.Println(string(img))
}
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报