Enchantments since 1.17.1 Pre-release 1 have an unsigned byte range (0 to 255) but are still saved as short (-32768 to 32767)
{Enchantments:[{id:"minecraft:aqua_affinity",lvl:255s}]}
You can see that "s" is used in the number that means short
Although it is true that the byte type data ("b") is from -128 to 127, so I think a new data type should be added that is unsigned byte ("ub"?)
Can confirm in 1.19.2.