【问题标题】:Android: How to check if string is Base64 encoded?Android:如何检查字符串是否为 Base64 编码?
【发布时间】:2017-10-18 04:06:10
【问题描述】:

我不确定如何使用android.Base64 检查字符串是否为 Base64 编码。我知道在标准Java中使用java.util.Base64调用Base64.getDecoder().decode()会通过IllegalArgumentException如果字符串不在Base64中,但在android上我没有这样的错误,那么我如何检查它是否是Base64编码的?

【问题讨论】:

  • 公平警告:仅仅因为字符串 可以 用 Base64 解码并不意味着它实际上是用 Base64 编码或会产生有意义的输出。
  • @LouisWasserman 我知道,但我想知道字符串是否能够被解码。如果不是,我希望抛出一个错误或一些无法解码的指示。
  • @Miller 这对我不起作用,或者我没有正确应用它。
  • 你的字符串是什么,不能用通用代码检查?

标签: java android base64


【解决方案1】:

添加到 Gradle:

implementation 'commons-codec:commons-codec:1.9'

添加到您的代码中:

if (Base64.isBase64(yourString)) {
   //do stuff
} else {
   //do other stuff
}

【讨论】:

  • 我收到No static method isBase64(Ljava/lang/String;)Z in class Lorg/apache/commons/codec/binary/Base64; or its super classes
【解决方案2】:

试试这个:

   try{
     Base64.encode("thestringyouwanttocheck".getBytes(),Base64.DEFAULT);
   }catch(IllegalArgumentException e){
      Toast toast=Toast.makeText(context,"Illigal Input",duration);
      toast.show();
   }

【讨论】:

    猜你喜欢
    • 2012-01-24
    • 1970-01-01
    • 2012-09-01
    • 2016-12-17
    • 1970-01-01
    • 2023-03-23
    • 2014-11-20
    相关资源
    最近更新 更多