Bit Manipulation - UTF-8 Validation
Given the following Python function for UTF-8 validation, what is the value of the variable
remaining after processing the second byte in the input [197, 130, 1]?
def validUtf8(data):
remaining = 0
for byte in data:
if remaining == 0:
if (byte >> 5) == 0b110:
remaining = 1
elif (byte >> 4) == 0b1110:
remaining = 2
elif (byte >> 3) == 0b11110:
remaining = 3
elif (byte >> 7) == 0:
remaining = 0
else:
return False
else:
if (byte >> 6) != 0b10:
return False
remaining -= 1
return remaining == 0
