이진 8비트 값과 유니코드 문자열을 파이썬에서 다룰 때 꼭 기억해야 할 두 가지 문제점이 있다.
첫 번째 문제점은 bytes와 str이 똑같이 작동하는 것처럼 보이지만 각각의 인스턴스는 서로 호환되지 않기 때문에 전달 중인 문자 시퀀스가 어떤 타입인지를 항상 잘 알고 있어야 한다는 점이다.
+ 연산자를 사용하면 bytes를 bytes에 더하거나 str을 str에 더할 수 있다.
print(b'one' + b'two') print('one' + 'two') >>> b'onetwo' onetwo
하지만 str 인스턴스를 bytes 인스턴스에 더할 수는 없다.
b'one' + 'two' >>> Traceback ... TypeError: can't concat str to bytes
bytes 인스턴스를 str 인스턴스에 더할 수도 없다.
'one' + b'two' >>> Traceback ... TypeError: can only concatenate str (not "bytes") to str