2013-11-29 7 views
0

Apparently SSID могут содержать символы UTF-8, а также управляющие символы и т. Д. IIUC, чтобы содержать символы UTF-8, они должны указать поле SSIDEncoding. У меня создалось впечатление, что до сих пор я могу получить только байты ASCII.SSID без ASCII в android

Как я могу справиться с ситуацией в Android? А именно, как я могу проверить поле SSIDEncoding из ScanResult? Нужно ли мне ? Также в этом случае содержится ScanResult.SSID (, включая корпус, в котором SSID содержит непечатаемые символы)?

Связанные

ответ

-1

Короткий ответ в том, что вы не можете его обнаружить, но не нужно.

Android только возвращает строку в ScanResult и WifiConfiguration (нет документального поля кодирования). Так как строки Java могут содержать различные кодировки, но внутренне хранить unicode (How to check the charset of string in Java?), тогда исходная кодировка теряется при переводе. Но если все, что вам нужно, это String, и вы используете API и механизмы хранения, которые принимают Java String, тогда все эти вещи должны уже поддерживать кодировку String в любом формате, который им нужен, и вам, вероятно, не о чем беспокоиться.

Я не могу говорить о том, что Android делает под обложками относительно предоставления вам этой строки, но предоставленная вами ссылка предоставляет некоторые идеи. Если Android поддерживает или не поддерживает разные типы кодирования для SSID, вы ничего не можете с этим поделать.

+0

Существует - разговор с службой на C++ - вы внимательно прочитали вопрос? –

+0

Возможно, вам стоит уточнить вопрос, нет ссылки на C++ –

+0

да, потому что это может быть не нужно. Но в уведомлении о щедрости говорится: ___, обсужденный в связанном с этим вопросе, вероятно, что «вам нужно иметь дело непосредственно с сервисом wifi, чтобы получить результат необработанного сканирования» ___. Если вы можете работать на Java, тем лучше. –

 Смежные вопросы

  • Нет связанных вопросов^_^