Issue #28992: Use bytes.fromhex().
diff --git a/Lib/urllib/parse.py b/Lib/urllib/parse.py
index 958767a..1d08730 100644
--- a/Lib/urllib/parse.py
+++ b/Lib/urllib/parse.py
@@ -574,7 +574,7 @@
     # if the function is never called
     global _hextobyte
     if _hextobyte is None:
-        _hextobyte = {(a + b).encode(): bytes([int(a + b, 16)])
+        _hextobyte = {(a + b).encode(): bytes.fromhex(a + b)
                       for a in _hexdig for b in _hexdig}
     for item in bits[1:]:
         try: