Я работаю над решением, в котором нужно кодировать строку в utf-8 формат, эта строка - не что иное, как имя устройства, которое я читаю, используя BluetoothAdapter.getDefaultAdapter().name
.
Для одного из sampple я получил строку типа ABC-&
и , кодирующую , которая вернула ABC-%EF%BC%86
вместо ABC-%26
. Это было странно до дальнейшей отладки, которая помогла выявить разницу между & and &
. Второй - какой-то другой символ, который не может быть закодирован, как ожидалось.
& and & both are different.
Для кодирования пробовал оба URLEncoder.encode(input, "utf-8")
и Uri.encode(input, "utf-8")
, но ничего не получалось.
Это всего лишь пример, может быть другой символ, который может выглядеть так же, как реальный символ, но не может быть закодирован. Теперь вопрос:
- Почему это различие, ведь это чтение некоторых данных с устройства с использованием стандартного API SDK.
- Как это можно исправить. Подход и замена реальным символом могут быть подходом, но область действия ограничена, возможно, есть другой неизвестный символ.
Любое предложение вокруг !!