Is there a way to store color values on the VRAM other than a float per color component ?

Since color can represented as byte per component, how can I force my fragment shader to range color component from [0-255] instead of the default range [0.0-1.0]

if I use type as `GL_UNSIGNED_BYTE` , do I have to set *bool normalized* to `GL_TRUE` to convert them to 0.0-1.0 values that can be interpreted by the Fragment shader?