내부에 똑같은 문자들이 들어 있더라도 bytes와 str 인스턴스가 같은지 비교하면 항상 False가 나온다(다음 예에서는 foo라는 아스키 인코딩된 문자열이 들어 있다).
print(b'foo' == 'foo') >>> False
% 연산자는 각 타입의 형식화 문자열(format string)에 대해 작동한다.
print(b'red %s' % b'blue') print('red %s' % 'blue') >>> b'red blue' red blue
하지만 파이썬이 어떤 이진 텍스트 인코딩을 사용할지 알 수 없으므로 str 인스턴스를 bytes 형식화 문자열에 넘길 수는 없다.
print(b'red %s' % 'blue') >>> Traceback ... TypeError: %b requires a bytes-like object, or an object that implements __bytes__, not 'str'