第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

什么是 golang 等同于 PHP/Ruby 的 unpack("C*", . )?

什么是 golang 等同于 PHP/Ruby 的 unpack("C*", . )?

Go
慕雪6442864 2023-05-15 09:45:59
一直在四處尋找,對 golang 還是個新手,PHP 和 ruby 有一個解包函數(shù),可以將二進制文件解包到數(shù)組中。我想弄清楚如何在 golang 中執(zhí)行以下操作。$test = "\01\00\02\03";print_r(unpack("C*", $test)); // [1,0,2,3]或者s = "\01\00\02\03"arr = s.unpack("C*")p(arr) # [1,0,2,3]使用 golang 執(zhí)行此操作的最佳方法是什么?
查看完整描述

1 回答

?
白豬掌柜的

TA貢獻1893條經(jīng)驗 獲得超10個贊

請首先注意,您的 PHP 字符串是由 4 個字節(jié),?,"\01\00\02\03"組成的字符串,因為它們被解釋為八進制。\x01\x00\x02\x03"\01"

在 Go 中,語法\01不正確。與 C 中一樣,八進制序列需要有 3 個數(shù)字,即\001.?因此,PHP 字符串"\01\00\02\03"在 Go 中"\001\000\002\003"(在 PHP 中也適用)??紤]到這一點,拆包很容易,不需要像unpack這樣的特殊功能:

package main

import "fmt"

func main() {

? ? s := "\001\000\002\003"

? ? b := []byte(s)

? ? fmt.Print(b)

}

輸出:


[1 0 2 3]


查看完整回答
反對 回復 2023-05-15
  • 1 回答
  • 0 關(guān)注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號