把所有字符都转换成unicode字符:
package main
import (
"fmt"
"strings"
)
func toHex(ten int) string {
m := 0
hex := make([]int, 0)
for {
m = ten % 16
ten = ten / 16
if ten == 0 {
hex = append(hex, m)
break
}
hex = append(hex, m)
}
hexStr := []string{}
for i:=len(hex)-1;i>=0;i--{
if hex[i] >= 10 {
hexStr = append(hexStr, fmt.Sprintf("%c", 'A'+hex[i]-10))
} else {
hexStr = append(hexStr, fmt.Sprintf("%d", hex[i]))
}
}
return strings.Join(hexStr, ``)
}
func main() {
msg := `PDU我的发送方式的测试短信`
newMsg := []string{}
for _, v := range msg {
vHex := toHex(int(v))
switch len(vHex) {
case 1:
vHex = fmt.Sprintf(`\u000%s`, vHex)
case 2:
vHex = fmt.Sprintf(`\u00%s`, vHex)
case 3:
vHex = fmt.Sprintf(`\u0%s`, vHex)
case 4:
vHex = fmt.Sprintf(`\u%s`, vHex)
}
newMsg = append(newMsg, vHex)
}
newMsgStr := strings.Join(newMsg, ``)
fmt.Println(newMsgStr)
}
输出内容:
\u0050\u0044\u0055\u6211\u7684\u53D1\u9001\u65B9\u5F0F\u7684\u6D4B\u8BD5\u77ED\u4FE1
Process finished with exit code 0