Apparently SSID可以包含UTF-8字符,也可以控制字符等.IIUC包含UTF-8字符,它们必须指定SSIDEncoding字段。我的印象是我到目前为止只能获得ASCII字节。
我该如何处理Android中的情况?即,如何从ScanResult检查SSIDEncoding字段?我需要吗?此外ScanResult.SSID
包含的内容(包括SSID包含不可打印的字符的情况)?
相关
答案 0 :(得分:-1)
简短的回答是你无法检测到它,但你不需要。
Android仅在ScanResult和WifiConfiguration中返回一个String(没有记录的编码字段)。由于Java Strings可以包含接受不同的编码,但在内部存储unicode(How to check the charset of string in Java?),因此原始编码在转换时会丢失。但是如果你需要的只是一个String并且你正在使用接受Java String的API和存储机制那么所有这些东西应该已经支持将String编码为他们需要的任何格式,你可能没有什么可担心的。
我无法谈论Android在为您提供字符串方面所做的事情,但您提供的链接提供了一些想法。如果Android支持或不支持SSID的不同编码类型,那么你无能为力。