How to compare two DSCP ? for example which one of DSCP 28 and 34 (decimal) has more priority ?
There is no way to compare two DSCP values without the specific network QoS configurations. By default, a network device ignores DSCP values, and you must configure QoS on the device. Also remember that QoS is meaningless unless there is congestion at a point where a device has been configured to use QoS.
There is an RFC that recommends some things, but even it says:
There is no intrinsic requirement that particular DSCPs, traffic conditioners, PHBs, and AQM be used for a certain service class, but as a policy and for interoperability it is useful to apply them consistently.
Generally, a higher DSCP value in the first digit is configured to be more preferred, but network devices can be configured to prefer any particular value. For example,
EF is normally assigned to a priority queue, but it could be assigned to a queue with the lowest priority.
The second digit is normally used to give the drop priority within the first digit, but a lower value has a lower drop priority, so a higher value in the second digit is usually more likely to be dropped in congestion.
You can actually configure any DSCP value to mean whatever you want in your network devices. There is no requirement, and different people do it very differently. That is one reason that QoS does not work over the public Internet. What you think the values mean could be wildly different than what someone else thinks they should mean.