手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜Qcloud , 注册 | 登陆

golang将byte的int转换

首页 > Go >

在使用golang做数据传输的时候,会经常遇到byte与int的互转,但golang并没有现成的方法,因此只能通过binary包来解决

所以,需要 :import "encoding/binary",又因为是byte的转换,所以还涉及到了bytes:import "bytes"

代码如下:

XML/HTML代码
  1. package main  
  2.   
  3. import (  
  4.     "bytes"  
  5.     "encoding/binary"  
  6.     "fmt"  
  7.     "strings"  
  8. )  
  9.   
  10. func main() {  
  11.     b := []byte{0x00, 0x00, 0x03, 0xe8}  
  12.     b_buf :bytes.NewBuffer(b)  
  13.     var x int32  
  14.     binary.Read(b_buf, binary.BigEndian, &x)  
  15.     fmt.Println(x)  
  16.   
  17.     fmt.Println(strings.Repeat("-", 100))  
  18.   
  19.     x = 1000  
  20.     b_buf = bytes.NewBuffer([]byte{})  
  21.     binary.Write(b_buf, binary.BigEndian, x)  
  22.     fmt.Println(b_buf.Bytes())  
  23. }  
基本上就这么解决了。其实下面不赋值x也无所谓。因为本来就是1000

 




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: 类型转换

« 上一篇 | 下一篇 »

1条记录访客评论

binary.LittleEndian.Uint32(b)

Post by imkos on 2017, August 18, 10:24 AM 引用此文发表评论 #1


发表评论

评论内容 (必填):