summaryrefslogtreecommitdiff
path: root/vendor/github.com/bytedance/sonic/internal/rt/base64_amd64.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/rt/base64_amd64.go')
-rw-r--r--vendor/github.com/bytedance/sonic/internal/rt/base64_amd64.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/rt/base64_amd64.go b/vendor/github.com/bytedance/sonic/internal/rt/base64_amd64.go
new file mode 100644
index 000000000..263bc592f
--- /dev/null
+++ b/vendor/github.com/bytedance/sonic/internal/rt/base64_amd64.go
@@ -0,0 +1,20 @@
+// +build amd64,go1.17,!go1.24
+
+package rt
+
+import (
+ "github.com/cloudwego/base64x"
+)
+
+func DecodeBase64(raw []byte) ([]byte, error) {
+ ret := make([]byte, base64x.StdEncoding.DecodedLen(len(raw)))
+ n, err := base64x.StdEncoding.Decode(ret, raw)
+ if err != nil {
+ return nil, err
+ }
+ return ret[:n], nil
+}
+
+func EncodeBase64(src []byte) string {
+ return base64x.StdEncoding.EncodeToString(src)
+}