Я пытаюсь добавить символ Unicode (https://emojipedia.org/fire/ ?) к SSID моего Wi-Fi, так как я видел много людей, которым это удалось. Однако в настоящее время это не работает.

Стандартное поведение моего маршрутизатора (которое я могу обойти, используя Chrome DevMode) - разрешать только символы ASCII. После обхода я получаю WiFi с именем 🔥 (как показано в Ubuntu 16.04 и Android 7.0), что соответствует десятичной сущности HTML моего смайлика. Обратите внимание, что смайлик правильно отображается на панели администрирования роутера.

Позже я также попытался перехватить и изменить запрос POST для изменения SSID, который содержал смайлик, отформатированный как 🔥 Но и здесь успехов не много. Теперь я на самом деле сомневаюсь, что мой роутер поддерживает символы Юникода, но хотел узнать ваше мнение, прежде чем начать искать новое забавное имя для моего WiFi.

Маршрутизатор представляет собой CH7485E от TeleColumbus, производства Compal Broadband Networks (http://www.icbn.com.tw/products/product_view_en/8).

1 ответ1

0

Первоначально IEEE 802.11 определял SSID размером до 32 байт, но не определял, как интерпретировать строку (US ASCII? ISO-8859-1? Какая-нибудь «кодовая страница» IBM/Windows? UTF8? UTF16?), И при этом не было никакого ограничения на допустимые значения.

Разные поставщики в течение многих лет делали разные выборы в отношении того, что они позволяют вам устанавливать и как они интерпретируют значение до 32 байтов. Таким образом, даже если вы можете устанавливать символы Unicode через UTF8, нет гарантии, что определенный фрагмент клиентского программного обеспечения будет интерпретировать его таким образом, когда они увидят его в сканировании.

Похоже, что веб-интерфейс администратора вашей точки доступа может мешать настройке символов UTF8. Это позор. Не зная, как веб-сервер на точке доступа обрабатывает это поле при получении его через POST, трудно понять, как помочь.

Ой! Привет. Нужно убедиться, что вы не устанавливаете этот эмодзи в качестве последнего символа SSID, длина которого уже почти 32 байта. UTF8 кодирует большинство символов Unicode таким образом, что занимает несколько байтов, а ограничения длины SSID заботятся только о базовых байтах, а не о том, сколько символов он составляет. Так что, если бы вы использовали эмодзи «Fire» в качестве, скажем, 30-го символа вашего 7-битного SSID ASCII, а кодировка Emoji огня UTF8 составляла 4 байта (я не искал его), это бы предлагаемый SSID занимает 33 байта, что слишком долго.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .