`USB-<connector> <protocol>.<speed>.<max_voltage>.<max_amperage>`
Either with 1-1 mapping of "version" numbers to values, or just "revision" numbers which would need to be translated.E.g.
* `USB-C 3.20.15.3` for 20Gbps (although this doesn't tell you how many layers, and what encoding), 15V, 3A or `USB-C 3.5.4.1` where the `.5` maps to the data transfer speed of 20Gbps over 2 lanes with 128b/132b encoding, the `.4` maps to max voltage of, say, 20V, and the `.1` maps to 2.25A (this way you don't have to deal with fractional amperages)
Slap an `x` anywhere that the spec isn't fully utilized, e.g., for a charging cable, the `speed` would be `x`, so the label would read `USB-C 3.x.4.2` or whatever.