如何在 Android Lollipop 中使用 Base64.getUrlEncoder
How to use Base64.getUrlEncoder in Android Lollipop
如何在 android 中使用较低的 Build.VERSION.SDK_INT
获得此方法的相同结果:
@RequiresApi(api = Build.VERSION_CODES.O)
String result1 = "https://1drv.ms/u/s!AkijuZglD51udjvlclZWSNf_2wo";
String aa = Base64.getUrlEncoder()
.withoutPadding()
.encodeToString(result1.getBytes(StandardCharsets.UTF_8));
此代码工作正常,但问题是它需要 android 版本 oreo 或更高版本,但我的应用程序最低 sdk 是 Lollipop 是否有可能获得相同的结果但是使用可在 android 的较低版本上工作的代码,从 Lollipop 及更高版本?
谢谢
你会想要使用 android.util.Base64 encodeToString(byte[] input, int flags)
它从 Android 2.2.X Froyo/API 8 级开始可用。
你会像这样使用它:
android.util.Base64.encodeToString(YOUR_BYTE_ARRAY, android.util.Base64.URL_SAFE | android.util.Base64.NO_PADDING);
对于您的用例最重要的是 android.util.Base64.URL_SAFE
和 android.util.Base64.NO_PADDING
标志。
如何在 android 中使用较低的 Build.VERSION.SDK_INT
获得此方法的相同结果:
@RequiresApi(api = Build.VERSION_CODES.O)
String result1 = "https://1drv.ms/u/s!AkijuZglD51udjvlclZWSNf_2wo";
String aa = Base64.getUrlEncoder()
.withoutPadding()
.encodeToString(result1.getBytes(StandardCharsets.UTF_8));
此代码工作正常,但问题是它需要 android 版本 oreo 或更高版本,但我的应用程序最低 sdk 是 Lollipop 是否有可能获得相同的结果但是使用可在 android 的较低版本上工作的代码,从 Lollipop 及更高版本? 谢谢
你会想要使用 android.util.Base64 encodeToString(byte[] input, int flags)
它从 Android 2.2.X Froyo/API 8 级开始可用。
你会像这样使用它:
android.util.Base64.encodeToString(YOUR_BYTE_ARRAY, android.util.Base64.URL_SAFE | android.util.Base64.NO_PADDING);
对于您的用例最重要的是 android.util.Base64.URL_SAFE
和 android.util.Base64.NO_PADDING
标志。