내 바이트 슬라이스를 Int 슬라이스로 변환하면 'strconv.Atoi: parsing \\'\\x01\\\\': 잘못된 구문' 오류가 발생하는 이유는 무엇입니까?

DDD
풀어 주다: 2024-11-20 15:37:13
원래의
448명이 탐색했습니다.

Why Does My Byte Slice to Int Slice Conversion Result in a

바이트 슬라이스를 정수 슬라이스로 변환: 예기치 않은 구문 오류 해결

바이트 슬라이스를 정수 슬라이스로 변환하려고 시도하는 동안 사용자 다음 오류가 발생했습니다:

"strconv.Atoi: 구문 분석 중 "x01": 잘못된 구문"

다양한 접근 방식을 시도했지만 문제가 지속되었습니다. 근본 원인을 파헤쳐 해결책을 제시해 보겠습니다.

오류 이해

오류 메시지는 전달된 문자열 "0x01"을 정수. 이는 슬라이스에 문자열을 정수로 변환하는 데 사용해야 하는 ASCII 문자 1이 아닌 바이트 값 1이 포함되어 있기 때문에 발생합니다.

해결책: 직접 변환

바이트 슬라이스를 int 슬라이스로 성공적으로 변환하려면 각 바이트 값을 개별적으로 변환해야 합니다. 다음은 샘플 코드입니다.

byteSlice := []byte{1, 2, 3, 4}
intSlice := make([]int, len(byteSlice))
for i, b := range byteSlice {
    intSlice[i] = int(b)
}
로그인 후 복사

이 코드는 슬라이스의 각 바이트 값을 반복하고 int() 함수를 사용하여 이를 int로 변환한 후 결과를 intSlice 슬라이스에 저장합니다.

추가 자료

Go의 전환에 대해 더 깊이 이해하려면, 다음 리소스를 참조하세요.

  • Go 언어 사양의 변환: https://go.dev/ref/spec#Conversions
  • Effective Go의 변환: https:// go.dev/doc/active_go#conversions

위 내용은 내 바이트 슬라이스를 Int 슬라이스로 변환하면 'strconv.Atoi: parsing \\'\\x01\\\\': 잘못된 구문' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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