은 내가 몇 가지 도움이 필요하다는 것을 여기에 작은 스크립트가 있습니다. 테스트 용으로 저는 49 곡을 포함하는 곡을 쓰고 있습니다 - 노래는 49 곡을 반복하여 반복하는 목록입니다문제 해결 binascii 홀수 길이 문자열 문제
저는 songbyte를 써야합니다. 이것은 8에서 72 사이의 값입니다. 지금 나는 단지 iterating을 통해 각 songbyte에 대한 올바른 값을 가지고 있는지 확인하고있다. (알려진 올바른 재생 목록의 사본이며, diff와 16 진수 편집기를 통해 확인하고있다.)
내 문제는 라인
print(binascii.a2b_hex("{0:x}".format(songbyte)))
은 "홀수 길이 문자열 형식 오류를"발생한다는 것입니다. 자, 이것은 충분히 설명력이 있습니다. 조사를 통해 나는 songbyte의 값이 에러가 될 때의 가치가 8이라고 결정했다. 그러나이 에러는 37 개의 노래가 목록에 나오고 다른 노래의 songbytes 또한 8입니다 - 내 len (str (songbyte)) < 2 체크를 붙잡 으면 0이 붙지 만, 이상하게도이 것은 없습니다.
비록 내가 생각할 수는 없지만 이것이 전체 스크립트의 전체 세부 사항을 제공하지 못하면서 문제를 해결할 수있는 충분한 정보인지는 모르겠습니다. songbyte (16 진수)를 파일에 쓸 수있는 또 다른 방법이 있습니까?
와우는 매우 훌륭하게 작동했습니다. 구조체를 확실히 읽어야합니다! 고맙습니다. – src