go语言字符串问题

qq_31891839 2016-03-26 05:47:39
使用go语言 服务器发送消息,使用write 。发送字符串时想把发送的字符串变成16进制的,请问怎么写啊。
for{
_, err2 = conn.Write([]byte("4100010045"))
time.Sleep(time.Second*3)
if err2 != nil {
fmt.Println("error: ",err2)
return
}
}

就是把41 00 01 00 45 变成16进制的发送出去,请问大神们怎么写啊
...全文
1995 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一点晴 2017-01-14
  • 打赏
  • 举报
回复
func HexToBytes(hex string) ([]byte) {
    length := len(hex) / 2
    bytes := make([]byte, length)
    rs := []rune(hex)

    for i := 0; i < length; i++ {
        s := string(rs[i*2 : i*2+2])
        value, _ := strconv.ParseInt(s, 16, 10)
        bytes[i] = byte(value & 0xFF)
    }
    return bytes
}
悲催的码农 2016-08-17
  • 打赏
  • 举报
回复
你这个需求更应该放在接收端来做 你这边可以折中处理 vv := []byte{0x41,0x00,0x02} 然后再发
假正经的班长 2016-04-18
  • 打赏
  • 举报
回复

package main

import (
	"fmt"
	"strconv"
)

func main() {
	byarr := []byte("4100010045")

	i, _ := strconv.ParseInt(string(byarr), 10, 64)
	s := strconv.FormatInt(i, 16)

	fmt.Println(s)
}

li4c 2016-03-31
  • 打赏
  • 举报
回复
不知道是什么意思

2,190

社区成员

发帖
与我相关
我的任务
社区描述
go语言学习与交流版
社区管理员
  • go语言社区
  • Freeman Z
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧