creative

뭔가 2에서 3버젼으로 바뀌면서 str의 기본 코드가 utf-8로 정해졌다나 뭐라나...

 

그래서 2버젼일때는 소캣으로 문장을 전송할때는 uncode를 거쳐서 다시 utf-8로 변환해서 보냈다

근데 중요한 것은 bytearry문장에서 2 버전에서는 b'\x81'을 문제없이 사용 되었는데

3버젼에서는 TypeError: 'bytes' object cannot be interpreted as an integer 만 계속 뿜어 댔다

 

별짓을 다 해 보았다.

hex코드로 변환해서 다시 binary로 변환 해보고 뭔 수를 써도 안되드만

ascii코드값 129(\x81) 를 입력해주니 바로 통과가 되었다.

 

TypeError: 'bytes' object cannot be interpreted as an integer 에 답이 있엇는데

처음에 거꾸로 해석해서 상수는 byte 객체에 적용될수 없습니다. 때문에 헤맨거 같다.

 

상당히 오랜 시간을 버린후 혹시 '거꾸로' 라는 생각으로 상수를 써주니

바로 통과 되었다...

 

ㅎㅎ 그래도 해결 되어서 다행...

 

언제 지원 종료 될지 모르는 2.x에서 3.x로 버젼업 시켰다.

 

---------------------------------

frame = bytearray([b'\x81', len(data)]) + data (python 2.x)

        ||

frame = bytearray([129, len(data)]) + data (python 3.x)

menu