Comparing how different devices display the SSID "á̶̛̛̓̿̈͐͆̐̇̒̑̈́͘͝aaa"
After my recent post Setting the SSID of a Fios Home Router to an emoji I decided to set my WiFis SSID to “á̶̛̛̓̿̈͐͆̐̇̒̑̈́͘͝aaa”. That name is 36 octets making it over the 32 octets maxium specified in the 2012 standard of 802.11 Section 126.96.36.199.2. My router just cut the name down to 32 octets though to stay complient. This was what was being sent according to
a\xcc\xb6\xcc\x81\xcc\x93\xcc\xbf\xcc\x88\xcc\x9b\xcc\x9b\xcd\x90\xcd\x98\xcd\x86\xcc\x90\xcd\x9d\xcc\x87\xcc\x92\xcc\x91\xcd with the raw hex being
I decided to see how this showed up on different devices and got some pretty strange results. Below are the devices tested sorted rougly to how they acted.
Galaxy S8 running Android 9 with Kernel 4.4.153
Both the s8 and the Firestick are rendering the result in what I deem as the correct way with it showing the name just with some of the vertical characters cutoff.
iPhone running iOS 13.5.1
Apple TV Second Generation
Next comes the iPhone and Apple TV. At first I had no idea what they were rending these characters as. At first I thought it was just extended ascii but that third character, ∂, was not in extended ASCII. After asking around on the Apple discord server someone said it might be using the Mac OS Roman character set. It turns out it which is strange because iOS used UTF-8 internally and not Mac OS Roman as that was phased out with the release of Mac OS X.
Speaking of Apple devices, there will not be any photos of MacOS though not from a lack of trying. I could not get either of my Macbook to acknowledge that this WiFi network existed. Neither the Wifi dropdown nor the airport commandline utility would show it.
Windows 10 Pro 10.0.19041
Windows 10 is rendering it using what I believe to be the UTF-8 characters of each octet. This matches what the raw hex of the wifi name would become if you split it up into 8bit bytes and used that as UTF-8 chars. It was pointed out by @theFerdi265 that this is not the first set of UTF-8 chars like I thought. Instead it is Windows-1252, a single-byte character encoding of the Latin alphabet, used by default in the legacy components of Microsoft Windows for English and some other European languages.
Chromebook running ChromeOS 83.0.4103.97
ChromeOS is just freaking out not knowing how to render any of the charaters besides the singular a.
Kindle Paperwhite running Firmware 5.10.2
Vizio M55-C2 TV
Both the Kindle and Vizio TV are showing what
iw returned with the a and then escaped hexademical characters.
I have now published a follow up to this post, here.
Discuss this post on Hacker News here