【问题标题】:StandardCharsets.UTF_8 on lower API lower than 19低于 19 的较低 API 上的 StandardCharsets.UTF_8
【发布时间】:2015-11-13 03:30:54
【问题描述】:

我正在使用此代码将斯堪的纳维亚字符正确发布到 php。

这里的问题是 API 19 之前不支持 StandardCharsets.UTF_8

byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);

DataOutputStream wr = new DataOutputStream( con.getOutputStream());
wr.write( postData );

字段需要 API 级别 19(当前最低为 14):java.nio.charset.StandardCharsets#UTF_8

使用低于 19 的 API 我应该如何做到这一点?

【问题讨论】:

    标签: java android http encoding url-parameters


    【解决方案1】:

    使用Charset类的forName静态方法:

    byte[] postData = urlParameters.getBytes(Charset.forName("UTF-8"));
    

    您可以在documentation 中找到的标准字符集列表。

    【讨论】:

    • 在 Android SDK 31 中,Charset 似乎引用了 StandardCharsets 并导致低于 19 的 API 崩溃。太糟糕了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 2017-11-01
    • 2013-09-13
    • 2016-06-22
    • 2021-10-22
    相关资源
    最近更新 更多