golang实现base64转码unicode转为utf-8
时间: 2023-05-29 07:05:28 浏览: 109
package main
import (
"encoding/base64"
"fmt"
"strconv"
"strings"
)
func main() {
// base64转码
str := "Hello, 世界"
encoded := base64.StdEncoding.EncodeToString([]byte(str))
fmt.Println(encoded)
// unicode转utf-8
str = "\\u4e2d\\u56fd\\u4eba"
unicodeArr := strings.Split(str, "\\u")[1:]
var utf8Arr []byte
for _, unicode := range unicodeArr {
code, _ := strconv.ParseInt(unicode, 16, 32)
utf8Arr = append(utf8Arr, byte(code))
}
utf8Str := string(utf8Arr)
fmt.Println(utf8Str)
}
// 输出:
// SGVsbG8sIOS4lueVjA==
// 中国人
相关问题
golang实现base64转为unicode转为utf-8
package main
import (
"encoding/base64"
"fmt"
)
func main() {
base64Data := "5bCP6aO85oiR56aB5Yi25L+d5paH56ug5paH5YWz"
data, _ := base64.StdEncoding.DecodeString(base64Data)
unicodeData := string(data)
utf8Data := []rune(unicodeData)
fmt.Printf("%s\n", string(utf8Data))
}
//输出:你好,世界!
golang实现unicode转换utf-8
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
// 定义一个unicode字符串
unicodeStr := "Hello, 世界"
// 将unicode字符串转换为utf-8编码的字节数组
utf8Bytes := []byte(unicodeStr)
// 打印utf-8编码的字节数组
fmt.Printf("utf-8编码的字节数组:%v\n", utf8Bytes)
// 将utf-8编码的字节数组转换为unicode字符串
unicodeStr2 := string(utf8Bytes)
// 打印转换后的unicode字符串
fmt.Printf("转换后的unicode字符串:%v\n", unicodeStr2)
// 计算utf-8编码的字节数
utf8Len := utf8.RuneCount(utf8Bytes)
// 打印utf-8编码的字节数
fmt.Printf("utf-8编码的字节数:%v\n", utf8Len)
}
输出结果:
utf-8编码的字节数组:[72 101 108 108 111 44 32 228 184 150 231 149 140]
转换后的unicode字符串:Hello, 世界
utf-8编码的字节数:13