-1
A
回答
0
只需使用hex.DecodeString()
功能:
s := "46447381"
data, err := hex.DecodeString(s)
if err != nil {
panic(err)
}
fmt.Printf("% x", data)
輸出:
46 44 73 81
嘗試它的Go Playground。
注:
如果你只是單純的打印使用fmt.Println(data)
字節片,打印值將是十進制格式,這就是爲什麼(因爲它是在十六進制格式指定),它不會匹配您的輸入string
。的fmt.Println(data)
輸出將是:
[70 68 115 129]
這些都是相同的數字只是十進制基數。
+0
你說得對,我很愚蠢,我認爲這不應該轉化爲十二月,但的確應該是,謝謝。 http://play.golang.org/p/S_blDzfpN7 – cuuboy 2015-02-09 07:11:46
如果問題很簡單,爲什麼問我們?只是開玩笑'。沒有違法 – EdmDroid 2015-02-09 07:00:55
這會比我想象的更復雜,因爲我只是使用hex.EncodeToString,我想知道爲什麼我不能使用這種函數來讓它回來。 – cuuboy 2015-02-09 07:01:09
@EdmDroid是的問題很簡單,但這意味着我想要一個簡單的答案。 – cuuboy 2015-02-09 07:06:33