I think you're looking for isomorphic.
An "isomorphism" is a 1-to-1 structure-preserving mapping between two sets of objects. Two objects are said to be isomorphic if a given isomorphism maps them to each other.
This concept usually corresponds to our intuition that the two sets are "different representations of the same thing", including the fact that anything you can do with one representation you can just as easily do with the other.
For completeness: The "structure-preserving" part means that any relation which is true of two members in one set must also be true of the corresponding members of the other said. Since that's a bit abstract, consider the set of integers and the set of strings representing integers (without leading zeros or scientific notation or anything else that'd make them non-1-to-1). The set of integers has a greater than relation. We can define a similar greater than relation for the set of strings representing integers. Now, if we choose the obvious mapping that matches 3 to "3" and so on, then this relation is preserved since whenever x > y it's also the case that stringGreaterThan(string(x), string(y)) is true. If we choose a silly mapping that matches 1 to "3" and 2 to "-42" and so on, there are many cases where x > y but stringGreaterThan(string(x), string(y)) is not true, which means that mapping is not an isomorphism.
P.S. In programming "isomorphic" sometimes has a completely different meaning, namely code that can run on either the client or the server without alteration. But it should be very obvious in context whether you're talking about the 1-to-1 mapping or the client-or-server code.