ホームページ > バックエンド開発 > Golang > asn のアンマーシャリングに失敗しました

asn のアンマーシャリングに失敗しました

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2024-02-14 16:27:08
転載
1235 人が閲覧しました

解组 asn 失败

php エディターの Xigua が、「アンマーシャリングに失敗しました」に関する質問を共有します。 ASN(Autonomous System Number)はネットワーク通信において自律システムを識別するための番号ですが、ASNのグループを解除する際にグループ解除に失敗する場合があります。これは、間違った ASN エンコード形式、破損した ASN パケット、または互換性のないパーサーが原因である可能性があります。この記事では、誰もがこの問題をよりよく理解して解決できるように、ASN のアンマーシャリングが失敗する理由と解決策について説明します。

質問内容

package main

import (
    "encoding/asn1"
    "fmt"
)

type SimpleStruct struct {
    Value int
}

func main() {
    berBytes := []byte{0x02, 0x01, 0x05}

    var simpleStruct SimpleStruct
    _, err := asn1.Unmarshal(berBytes, &simpleStruct)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }

    fmt.Printf("Decoded value: %d\n", simpleStruct.Value)
}
ログイン後にコピー

アンマーシャリングしようとしましたが、次のエラーが発生しました:

リーリー

誰か助けてくれませんか? Thanks

Solution

0x020105 は整数 5 をエンコードします (https://www.php.cn/link/8ae7733f9bc11275e8d0a0fdabe5be0a を参照)。整数フィールドを持つ構造体ではなく整数にアンマーシャリングする必要があります:

リーリー

および SimpleStruct{Value: 5}0x3003020105:

にマーシャリングされます リーリー

以上がasn のアンマーシャリングに失敗しましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート