def DeconstructAssetId(id_prefix, asset_id):
 assert IdPrefix.IsValid(id_prefix), id_prefix
 assert (asset_id[0] == id_prefix), asset_id
 byte_str = base64hex.B64HexDecode(asset_id[1:], padding=False)
 (device_id, num_bytes) = util.DecodeVarLengthNumber(byte_str)
 uniquifier = _DecodeUniquifier(byte_str[num_bytes:])
 return (device_id, uniquifier)

def DeconstructAssetId ( id_prefix , asset_id ) : assert IdPrefix . IsValid ( id_prefix ) , id_prefix assert ( asset_id [ 0 ] == id_prefix ) , asset_id byte_str = base64hex . B64HexDecode ( asset_id [ 1 : ] , padding = False ) ( device_id , num_bytes ) = util . DecodeVarLengthNumber ( byte_str ) uniquifier = _DecodeUniquifier ( byte_str [ num_bytes : ] ) return ( device_id , uniquifier )
deconstructs an asset id that was previously constructed according to the rules of "constructassetid" .