This commit is contained in:
史悦
2025-08-13 19:03:20 +08:00
commit d62a2e9ed9
73 changed files with 7296 additions and 0 deletions

63
pkg/util/encrypt.go Normal file
View File

@@ -0,0 +1,63 @@
package util
import (
"encoding/base64"
"regexp"
"strconv"
"strings"
)
// EmojiEncode Emoji表情转码
func EmojiDecode(s string) string {
//emoji表情的数据表达式
var re *regexp.Regexp
var reg *regexp.Regexp
var src []string
re = regexp.MustCompile("\\[[\\\\u0-9a-zA-Z]")
//提取emoji数据表达式
reg = regexp.MustCompile("\\[\\\\u|]")
src = re.FindAllString(s, -1)
for i := 0; i < len(src); i++ {
var e = reg.ReplaceAllString(src[i], "")
var p, err = strconv.ParseInt(e, 16, 32)
if err == nil {
s = strings.Replace(s, src[i], string(rune(p)), -1)
}
}
return s
}
// 表情转换
func EmojiCode(s string) string {
var ret string
var rs []rune
rs = []rune(s)
for i := 0; i < len(rs); i++ {
if len(string(rs[i])) == 4 {
ret += `[\u` + strconv.FormatInt(int64(rs[i]), 16) + `]`
} else {
ret += string(rs[i])
}
}
return ret
}
// BaseEncode Base64编码
func BaseEncode(s string) string {
data := []byte(s)
dst := make([]byte, base64.StdEncoding.EncodedLen(len(data)))
base64.StdEncoding.Encode(dst, data)
return string(dst)
}
// BaseDecode Base64解码
func BaseDecode(s string) string {
data := []byte(s)
dst := make([]byte, base64.StdEncoding.DecodedLen(len(data)))
n, err := base64.StdEncoding.Decode(dst, data)
if err != nil {
return ""
}
return string(dst[:n])
}