почему строка в пакете модифицируется в Android?

#android #string

#Android #строка

Вопрос:

Я хочу отправить токен firebase в пакете другому действию. Длина токена Firebase составляет 163 символа, но в итоге получается 165 символов с несколькими несоответствиями.

Оригинал:

 cNAMo3kXRRmTl3WEAPDz1b:APA91bEjMeqAkcqy8RXifh_ZZFXBqjq6CvnkfqfbJ_8jgnjubHEFpHe8P2YKRDyOv98NhRbDoSlsei6VKh5abM9K-Z6mCavOdxOvyIC6ezCH_LqgM1mPD0NN0iEg5jI01ZSiPQl_O3yM 
  

После извлечения из пакета:

 cNAMo3kXRRmTl3WEAPDz1b:APA91bEjMeqAkcqy8RXifh_ZZFXBqjq6CvnkfqfbJ_8jgnjubHEFpHe8P2YKRDyOv98NhRbDoSlsei6VKh5abM9K-Z6mCavOdxOvyIC6ezCH_LqgM1mPD0NN0iEg5jI01ZSiPQl_O3yM
  

Теперь, если вы проверите, вы увидите, что в char № 22 изменен. : turns to %3
Итак, что я могу сделать, чтобы остановить это поведение?

(извините, я сомневаюсь, чтобы отнести этот вопрос к какой категории, кроме типичного тега Android. Любые изменения приветствуются)

Комментарии:

1. : URL-адрес кодируется как : . Так s = URLDecoder.decodeURL(s, "UTF-8") что, вероятно. Слева и справа от двоеточия находится URL-безопасный Base64, использующий _ и — вместо / и ,

2. хорошо, я думаю, это может быть исправлением, но является ли это фактическим поведением bundle в Android? я имею в виду, почему пакет должен даже изменять строку? тогда для получения фактической строки я должен писать строку предложения везде, где я получаю пакет?

3. Пожалуйста, не рассматривайте мой комментарий для исправления чего-либо. Более опытные пользователи Android должны предложить подходящее решение. (Поскольку строки выглядят как ключи аутентификации, вы можете сократить их с помощью … — теперь, когда ясно : , что URL-адрес был закодирован так, чтобы : в результате получилось на 2 символа больше. Я видел аналогичную строку в формате JSON, а не в кодировке URL.)