go語言byte go語言byte轉int

Go語言中的字節(jié)序

Go中的binary包實現(xiàn)了簡單的數(shù)字與字節(jié)序列的轉換以及變長值的編解碼

十余年建站經(jīng)驗, 成都做網(wǎng)站、成都網(wǎng)站建設客戶的見證與正確選擇。成都創(chuàng)新互聯(lián)公司提供完善的營銷型網(wǎng)頁建站明細報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

package main

import ( "fmt" "bytes" "encoding/binary" ) func main(){ n := 0x12345678 bytesBuffer := bytes.NewBuffer([]byte{}) //BigEndian 大端順序存儲 LittleEndian小端順序存儲 binary.Write(bytesBuffer, binary.BigEndian, int32(n)) data:=bytesBuffer.Bytes() fmt.Printf("[0]: %#x addr:%#x\n",data[0],data[0]) fmt.Printf("[0]: %#x addr:%#x\n",data[1],data[1]) fmt.Printf("[0]: %#x addr:%#x\n",data[2],data[2]) fmt.Printf("[0]: %#x addr:%#x\n",data[3],data[3]) }

輸出

[0]: 0x12 addr:0xc042010248 [1]: 0x34 addr:0xc042010249 [2]: 0x56 addr:0xc04201024a [3]: 0x78 addr:0xc04201024b

也可以使用下面的方式

n := 0x12345678 var data []byte = make([]byte,4) //操作的都是無符號整型 binary.BigEndian.PutUint32(data,uint32(n))

可以使用下面的方式判斷當前系統(tǒng)的字節(jié)序類型

const INT_SIZE int = int(unsafe.Sizeof(0))

//判斷我們系統(tǒng)中的字節(jié)序類型 func systemEdian() { var i int = 0x1 bs := (*[INT_SIZE]byte)(unsafe.Pointer(i)) if bs[0] == 0 { fmt.Println("system edian is little endian") } else { fmt.Println("system edian is big endian") } }

go的byte跟string有什么區(qū)別

byte是字節(jié)型數(shù)據(jù),string是字符串型數(shù)據(jù),它們的數(shù)據(jù)類型不同。

一、字符串型。

字符串型的變量,字符碼范圍為0到255,可以聲明變長和定長字符串。

用“String*大小”的語法聲明一個定長字符串。在Visual

Basic中,文字字符串要用引號引起來。

二、字節(jié)型。

變量包含二進制數(shù)時,使用字節(jié)型。在轉換格式期間,最好用字節(jié)型變量存儲二進制數(shù)。

§除了一元減法外,可以對整數(shù)進行處理的運算符均可處理字節(jié)型的數(shù)據(jù)類型。因為字節(jié)型是從0到255的無符號類型,所以不能表示負數(shù)。

如何將golangbyte轉換為字符串

將golangbyte轉換為字符串:

package main

import (

"fmt"

)

func main() {

data := [4]byte{0x31, 0x32, 0x33, 0x34}

str := string(data[:])

fmt.Println(str)

}

文章題目:go語言byte go語言byte轉int
標題網(wǎng)址:http://muchs.cn/article6/dospjig.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供、服務器托管網(wǎng)站建設、網(wǎng)站制作、標簽優(yōu)化、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名