FCM 主题名称无效.Base64 生成具有无效字符的字符串



我正在创建一个应用程序,让用户订阅 FCM 主题。在许多情况下,此主题的名称中有一个特殊的字符。因此,我将这个主题名称转换为 base64 字符串,如下所示:

    byte[] data = myText.getText().toString().getBytes(StandardCharsets.UTF_8);
                    String base64 = Base64.encodeToString(data, Base64.DEFAULT);
                    String converted = base64.replace("n","");

在许多情况下,上面的代码可以完美运行。但在某些情况下,base64 函数会生成如下字符串:">UHJvcHJpw6E="。FCM 主题名称中不允许使用号。如何解决这个问题?

根据文档,NO_PADDING标志应该可以解决问题。

int NO_PADDING 编码器标志位,用于省略输出末尾的填充"="字符(如果有(。

String base64 = Base64.encodeToString(data, Base64.NO_PADDING);

为了更好地理解,请查看 Base64 文档。

相关内容

  • 没有找到相关文章

最新更新