我面临一个字符串编码问题。首先,让我解释一下背景:
我需要发表一篇文章并将内容加载到网络视图中。对于这个要求,我需要使用webView。postrl(字符串url,字节[]postData)。
我看到了很多使用这种方法和EncodingUtils的示例。getBytes(“stringToEncode”,“base64”)。
好消息是这对我有效。坏消息是这个类已被弃用,您需要将下一个代码添加到gradle文件中:
android {
useLibrary 'org.apache.http.legacy'
}
我希望避免这种情况,并按它应该的方式使用。
据我所知,这个弃用类的替代品是android。util。Base64。
我尝试了接下来的代码,但没有成功:
webView.postUrl("url", Base64.encode("paramsToEncode".getBytes(),Base64.DEFAULT));
webView.postUrl("url", Base64.encode("paramsToEncode".getBytes(StandardCharsets.UTF_8),Base64.DEFAULT));
EncodingUtils
:
将指定的字符串转换为字节数组。如果字符集不是
支持使用默认的系统字符集。参数:data-the
生成的字节数组。
以及
Base64
输入字节:编码标志int的数据:控制
RFC 2045。返回字节[]
所以我不知道我做错了什么。如果您遇到这种问题,我将不胜感激:)。