비정렬화 실패

WBOY
풀어 주다: 2024-02-14 16:27:08
앞으로
1184명이 탐색했습니다.

解组 asn 失败

php 편집기 Xigua는 "unmarshalling asn failed"에 대한 질문을 여러분과 공유하기 위해 왔습니다. 네트워크 통신에서 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)
}
로그인 후 복사

정렬 해제를 시도했지만 다음 오류가 발생했습니다.

으아아아

누구든지 도와줄 수 있나요? 감사합니다

해결 방법

0x020105은 정수 5를 인코딩하므로(https://www.php.cn/link/8ae7733f9bc11275e8d0a0fdabe5be0a 참조) 정수 필드가 있는 구조체가 아닌 정수로 마샬링 해제되어야 합니다.

으아아아

그리고 SimpleStruct{Value: 5} 被编组为 0x3003020105:

으아아아

위 내용은 비정렬화 실패의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿