본문 바로가기
파이썬

파이썬 int 값을 유니 코드로 변환

by º기록 2021. 1. 13.
반응형

pyserial을 사용하고 있으며 255보다 작은 값을 보내야합니다. int 자체를 보내면 int의 ascii 값이 전송됩니다. 이제 int를 유니 코드 값으로 변환하고 직렬 포트를 통해 보냅니다.

unichr(numlessthan255);

However it throws this error:
'ascii' codec can't encode character u'\x9a' in position 24: ordinal not in range(128)

int를 유니 코드로 변환하는 가장 좋은 방법은 무엇입니까?

 

해결 방법

 

256보다 작은 한 int의 1 바이트 값을 얻으려면 chr (somenumber) 를 사용하십시오. 그러면 pySerial이 제대로 전송합니다.

pySerial을 통해 전송하려는 경우 표준 라이브러리의 struct 모듈을 살펴 보는 것이 매우 좋은 생각입니다. 이는 엔디안 문제를 처리하고 패킹 문제를 처리하고 거의 모든 데이터 유형에 대한 인코딩을 처리합니다. 1 바이트 이상이 필요할 수 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/17627834

 

 

반응형

댓글