I have a character that is completely symmetrical, along with it's weights. One of the leg bones is weight painted and the paint is on both legs because of mirror painting. Can I copy the weight data from one bone to the other leg bone so they have the exact same weights?
Weights are on mesh, not bones; Blender represents them with vertex groups with the same names as bones. They're relative, so you don't want the left leg to be assigned to both right leg and left leg, even with 1.0 weights to left leg.
Your best bet here, assuming a symmetrical mesh, is to delete half of the mesh and use a live mirror modifier. There are times that this doesn't work (asymmetrical UV or asymmetrical shape keys) but if it works, it's the easiest thing to do.
If you want to duplicate a vertex group, you can do it with the copy vertex group operation from the vertex groups dropdown:
If you'd like, you can rename this to the name of a bone, and then that'll be that bone's weights; if you already have an empty group with that name, you can delete that group first.
Following this, however, you'll have both legs, assigned to both bones; but that should be an easy fix, just select half of the mesh in edit (possibly, via a "select side of active" operation) and remove it from one group; select inverse, remove from the other group.
Other ways to do this would be via a vertex weight mix modifier, which will let you add one group to another group (or subtract one group, or whatever you want.) This could, potentially, be then multiplied by a "side" vertex group. Vertex weight mix modifiers-- all "modify" type modifiers-- can even be applied on meshes with shapekeys.
But, that's probably more work than just duplicating the vertex group and removing weights manually.