Если вы хотите, чтобы все байты в вашей строке байтов можно было интерпретировать как печатный символ ASCII, вы можете использовать (при условии, что bstr
ваша строка байтов)
newstr = ''.join(chr(b) for b in bstr if 32 <= b < 128)
Это приводит к строке
'INTERLEAVEDvarchar'
Мы получили больше персонажей, чем вы ожидали.Если вам действительно нужны только символы верхнего регистра, вы можете вместо этого использовать
newstr = ''.join(chr(b) for b in bstr if ord('A') <= b < ord('Z'))
или
newstr = ''.join(chr(b) for b in bstr if 'A' <= chr(b) <= 'Z')
или, возможно,
newstr = ''.join(chr(b) for b in bstr if chr(b) in 'ABCDEFGJIJKLMNOPQRSTUVWXYZ')
Любой из этих результатов приводит кстрока
'INTERLEAVED'