Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取sun.misc.BASE64Encoder类的JAR文件?_Java_Android_Jar_Base64 - Fatal编程技术网

Java 如何获取sun.misc.BASE64Encoder类的JAR文件?

Java 如何获取sun.misc.BASE64Encoder类的JAR文件?,java,android,jar,base64,Java,Android,Jar,Base64,我的活动类中有一些代码使用sun.misc.BASE64Encoder类。但它显示的是java.lang.NoClassDefFoundError:sun.misc.BASE64Encoder。我需要jar?我可以从哪里下载它?不要使用sun.*类。对于Android中的Base64,可以使用它,也可以在项目中添加一个库(Apache commons等)。或者,如果您需要在2.2之前的设备上使用Android源代码,只需将其复制到您的项目中(在您自己的包中)。它在Sun java运行时附带的rt

我的活动类中有一些代码使用
sun.misc.BASE64Encoder
类。但它显示的是
java.lang.NoClassDefFoundError:sun.misc.BASE64Encoder
。我需要
jar
?我可以从哪里下载它?

不要使用
sun.*
类。对于Android中的Base64,可以使用它,也可以在项目中添加一个库(Apache commons等)。或者,如果您需要在2.2之前的设备上使用Android源代码,只需将其复制到您的项目中(在您自己的包中)。

它在Sun java运行时附带的rt.jar中提供

在1.5.0_06:jre\lib\rt.jar中

  • 只需将rt.jar从path添加到项目的构建路径中
    C:\ProgramFiles\AdoptOpenJDK\jdk-8.0.202.08\jre\lib
  • 复制jar并粘贴到项目的libraries文件夹中

  • 由于Java 8可以使用类:

    byte[]original=“Base64.getBytes(StandardCharsets.UTF_8);
    //编码
    字节[]toBase64=Base64.getEncoder().encode(原始);
    //解码
    字节[]fromBase64=Base64.getDecoder().decode(toBase64);
    //输出
    System.out.println(新字符串(toBase64))//QmFzZTY0
    System.out.println(新字符串(fromBase64))//Base64
    System.out.println(Arrays.equals(original,fromBase64))//真的
    


    另请参见:

    不要使用非公共API。阅读此线程了解更多详细信息。我是android新手。你能解释一下我哪里错了吗?如何使用该类加密字符串?加密不是编码。要进行编码,可以使用BASE64。BASE64将6位二进制数据块映射为64种不同的字符表示。好的。但我必须加密我的数据。如何加密?