1 回答

TA貢獻2016條經驗 獲得超9個贊
在逗號處剪切字符串以獲取base64數據:
func decode(uri string) ([]byte, error) {
if !strings.HasPrefix(uri, "data:") {
return nil, errors.New("not a data uri")
}
_, data, ok := strings.Cut(uri, ",")
if !ok {
return nil, errors.New("not a data uri")
}
return base64.URLEncoding.DecodeString(data)
}
Go 1.18 中添加了strings.Cut函數。在早期版本的 Go 中使用strings.Index來切斷逗號:
func decode(uri string) ([]byte, error) {
if !strings.HasPrefix(uri, "data:") {
return nil, errors.New("not a data uri")
}
i := strings.Index(uri, ",")
if i < 0 {
return nil, errors.New("not a data uri")
}
return base64.URLEncoding.DecodeString(uri[i+1:])
}
- 1 回答
- 0 關注
- 183 瀏覽
添加回答
舉報