Files
EdgeNode/internal/utils/string.go

42 lines
922 B
Go
Raw Normal View History

2020-10-08 15:06:42 +08:00
package utils
import (
"strings"
"unsafe"
)
// UnsafeBytesToString convert bytes to string
2020-10-08 15:06:42 +08:00
func UnsafeBytesToString(bs []byte) string {
return *(*string)(unsafe.Pointer(&bs))
}
// UnsafeStringToBytes convert string to bytes
2020-10-08 15:06:42 +08:00
func UnsafeStringToBytes(s string) []byte {
return *(*[]byte)(unsafe.Pointer(&s))
}
// FormatAddress format address
2020-10-08 15:06:42 +08:00
func FormatAddress(addr string) string {
if strings.HasSuffix(addr, "unix:") {
return addr
}
addr = strings.Replace(addr, " ", "", -1)
addr = strings.Replace(addr, "\t", "", -1)
addr = strings.Replace(addr, "", ":", -1)
addr = strings.TrimSpace(addr)
return addr
}
// FormatAddressList format address list
2020-10-08 15:06:42 +08:00
func FormatAddressList(addrList []string) []string {
result := []string{}
for _, addr := range addrList {
result = append(result, FormatAddress(addr))
}
return result
}
func ToValidUTF8string(v string) string {
return strings.ToValidUTF8(v, "")
}