Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alist-org
GitHub Repository: alist-org/alist
Path: blob/main/pkg/utils/str.go
1560 views
1
package utils
2
3
import (
4
"encoding/base64"
5
"strings"
6
7
"github.com/alist-org/alist/v3/internal/conf"
8
)
9
10
func MappingName(name string) string {
11
for k, v := range conf.FilenameCharMap {
12
name = strings.ReplaceAll(name, k, v)
13
}
14
return name
15
}
16
17
var DEC = map[string]string{
18
"-": "+",
19
"_": "/",
20
".": "=",
21
}
22
23
func SafeAtob(data string) (string, error) {
24
for k, v := range DEC {
25
data = strings.ReplaceAll(data, k, v)
26
}
27
bytes, err := base64.StdEncoding.DecodeString(data)
28
if err != nil {
29
return "", err
30
}
31
return string(bytes), err
32
}
33
34
// GetNoneEmpty returns the first non-empty string, return empty if all empty
35
func GetNoneEmpty(strArr ...string) string {
36
for _, s := range strArr {
37
if len(s) > 0 {
38
return s
39
}
40
}
41
return ""
42
}
43
44