2016-11-27 20 views
1

Datetime OctetstringをASCIIに変換する方法。私はpython netsnmpの例の1つを読んでいますが、それでもそれを解決することはできません。GoLangでdatetime OctetStringを人間が読める文字列に変換する

この

は、私はこのようなものでなければなりませんdatetime型の値

[]byte{0x7, 0xe0, 0x1, 0x1c, 0x14, 0x4, 0x2a, 0x0, 0x2b, 0x0, 0x0} 

と出力の[]uint8

[7 224 1 28 20 5 42 0 43 0 0] 

やゴー・構文表現のスライスとしてgosnmpから受信したものです

2015-10-7,17:23:27.0,+0:0 

ここはmibsです:oid:HOST-RESOURCES-MIB::hrSWInstalledDate

binaryを人間が読めるASCIIや文字列にデコードする方法を教えてもらえますか?

答えて

2

フォーマットがここで説明されて:あなたはちょうどあなたが言及した形式の日付/時刻文字列を作成する必要がある場合Convert snmp octet string to human readable date format

が、これはそれを行います。

func snmpTimeString(c []byte) string { 
    year := (int(c[0]) << 8) | int(c[1]) 
    return fmt.Sprintf("%d-%d-%d,%02d:%02d:%02d.%d,%c%d:%d", year, c[2], c[3], c[4], c[5], c[6], c[7], c[8], c[9], c[10]) 
} 

func main() { 
    c := []byte{0x7, 0xe0, 0x1, 0x1c, 0x14, 0x4, 0x2a, 0x0, 0x2b, 0x0, 0x0} 
    fmt.Println(snmpTimeString(c)) 
} 

https://play.golang.org/p/7WwQbPuESCを参照してください。

+0

いくつかの例やスニペットは非常に役に立ちます。私はすでにそれを読んでいて、それを変換するさまざまなオプションを試しました。 –

+1

申し訳ありませんが、私の電話から回答していました。私は次のコンピュータの前で(他の誰かがそれを最初にやっていない場合)、例を挙げます。 –

+0

ありがとうございます。 –

関連する問題