Section 7.3.2.1 of the 802.11-2007 specification (http://standards.ieee.org/getieee802/download/802.11-2007.pdf) defines SSIDs.
A valid SSID is 0-32 octets with arbitrary contents. A 0-length SSID indicates the wildcard SSID (in probe request frames for instance).
There’s no character set associated with the SSID – a 32-byte string of NUL-bytes is a valid SSID.
This implies:
-
you should never use normal string functions when manipulating generic SSIDs (strcpy() and friends).
-
you should not assume that the SSID is printable when, for instance, logging it to disk