代码拉取完成,页面将自动刷新
package fun
import (
"encoding/base32"
"encoding/binary"
"io"
"math"
"reflect"
"unsafe"
)
// @title: []byte转float32
// @param: []byte
// @return: float32
// @description:
// @date: 2024/6/11 22:32
func BytesToFloat32(bytes []byte) float32 {
if len(bytes) == 0 {
return 0
}
bits := binary.LittleEndian.Uint32(bytes)
return math.Float32frombits(bits)
}
// @title: []byte转float64
// @param: []byte
// @return: float64
// @description:
// @date: 2024/6/11 22:32
func BytesToFloat64(bytes []byte) float64 {
bits := binary.LittleEndian.Uint64(bytes)
return math.Float64frombits(bits)
}
// @title: 将字节切片转换为字符串
// @param: []byte
// @return: string
// @description: 不安全的[]byte转string
// @date: 2024/6/11 22:32
func UnsafeBytesToString(bytes []byte) string {
if len(bytes) == 0 {
return ""
}
hdr := &reflect.StringHeader{
Data: uintptr(unsafe.Pointer(&bytes[0])),
Len: len(bytes),
}
return *(*string)(unsafe.Pointer(hdr))
}
// @title: []byte转io.Reader
// @param: []byte
// @return: io.Reader
// @description: 接受一个字节切片 []byte 并将其转换为 io.Reader
// @date: 2024/6/11 22:32
func BytesToIoReader(b []byte) io.Reader {
return IoReader(b)
}
// @title: base32加密
// @param: []byte
// @return: string
// @description:
// @date: 2024/6/11 22:32
func Base32Encode(src []byte) string {
return base32.StdEncoding.EncodeToString(src)
}
// @title: base32解密
// @param: []byte
// @return: []byte, error
// @description:
// @date: 2024/6/11 22:32
func Base32Decode(s string) ([]byte, error) {
return base32.StdEncoding.DecodeString(s)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。