Always refer to the documentation page:
Page.MaxPageStateFieldLength Property[
^]
is that the number of characters or if it is the size of the hidden field then what is the unit of it like bytes etc?
This is the maximum length, in bytes, of the page's state field.
how do we know what value can we give for our project?
Having an idea of the average size for the state field in your project is a start. Or, you can set it to -1 as suggested in the documentation, and forget about it (unless this setting cause some sort of actual issue).