15.04:
>>> userdata '\x1f�\x08\x00���T\x00\x03SV�O���/��JM��WPR�HI,IU�\r�TR���U�p���W\x08�\x0f�q\x01�k\x14JR�҉\n�E�y���z9��J\\\x00L�\x10\x11F\x00\x00\x00' >>> userdata.encode('utf-8') b'\x1f\xef\xbf\xbd\x08\x00\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdT\x00\x03SV\xef\xbf\xbdO\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd/\xef\xbf\xbd\xef\xbf\xbdJM\xef\xbf\xbd\xef\xbf\xbdWPR\xef\xbf\xbdHI,IU\xef\xbf\xbd\r\xef\xbf\xbdTR\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdU\xef\xbf\xbdp\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdW\x08\xef\xbf\xbd\x0f\xef\xbf\xbdq\x01\xef\xbf\xbdk\x14JR\xef\xbf\xbd\xd2\x89\n\xef\xbf\xbdE\xef\xbf\xbdy\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdz9\xef\xbf\xbd\xef\xbf\xbdJ\\\x00L\xef\xbf\xbd\x10\x11F\x00\x00\x00'
14.04:
>>> userdata '\x1f\x8b\x08\x00\xb8\xb1\xedT\x00\x03SV\xd4O\xca\xcc\xd3/\xce\xe0JM\xce\xc8WPR\xd1HI,IU\xd0\r\xd2TR\xb0\xb5\xb5U\xf0p\xf5\xf1\xf1W\x08\xf7\x0f\xf2q\x01\xf3k\x14JR\x81\xd2\x89\n\xfaE\xa5y\xfa\xb9\x95z9\xf9\xe9J\\\x00L\xeb\x10\x11F\x00\x00\x00'
You may see that 'str' version on 15.04 is equal to 14.04 (some codes are treated as symbols on 15.04 though). But encoded version is clearly different on 15.04. Encoding breaks the thing.
15.04:
>>> userdata x08\x00� ��T\x00\ x03SV�O� ��/��JM� �WPR�HI, IU�\r�TR� ��U�p�� �W\x08� \x0f�q\ x01�k\x14JR� ҉\n�E�y� ��z9��J\ \\x00L� \x10\x11F\ x00\x00\ x00' encode( 'utf-8' ) xef\xbf\ xbd\x08\ x00\xef\ xbf\xbd\ xef\xbf\ xbd\xef\ xbf\xbdT\ x00\x03SV\ xef\xbf\ xbdO\xef\ xbf\xbd\ xef\xbf\ xbd\xef\ xbf\xbd/ \xef\xbf\ xbd\xef\ xbf\xbdJM\ xef\xbf\ xbd\xef\ xbf\xbdWPR\ xef\xbf\ xbdHI,IU\ xef\xbf\ xbd\r\xef\ xbf\xbdTR\ xef\xbf\ xbd\xef\ xbf\xbd\ xef\xbf\ xbdU\xef\ xbf\xbdp\ xef\xbf\ xbd\xef\ xbf\xbd\ xef\xbf\ xbdW\x08\ xef\xbf\ xbd\x0f\ xef\xbf\ xbdq\x01\ xef\xbf\ xbdk\x14JR\ xef\xbf\ xbd\xd2\ x89\n\xef\ xbf\xbdE\ xef\xbf\ xbdy\xef\ xbf\xbd\ xef\xbf\ xbd\xef\ xbf\xbdz9\ xef\xbf\ xbd\xef\ xbf\xbdJ\ \\x00L\ xef\xbf\ xbd\x10\ x11F\x00\ x00\x00'
'\x1f�\
>>> userdata.
b'\x1f\
14.04:
>>> userdata x08\x00\ xb8\xb1\ xedT\x00\ x03SV\xd4O\ xca\xcc\ xd3/\xce\ xe0JM\xce\ xc8WPR\ xd1HI,IU\ xd0\r\xd2TR\ xb0\xb5\ xb5U\xf0p\ xf5\xf1\ xf1W\x08\ xf7\x0f\ xf2q\x01\ xf3k\x14JR\ x81\xd2\ x89\n\xfaE\ xa5y\xfa\ xb9\x95z9\ xf9\xe9J\ \\x00L\ xeb\x10\ x11F\x00\ x00\x00'
'\x1f\x8b\
You may see that 'str' version on 15.04 is equal to 14.04 (some codes are treated as symbols on 15.04 though). But encoded version is clearly different on 15.04. Encoding breaks the thing.