在 android 中使用 UTF-8 编码字符串时使用哪种解决方案?

Which solution to use at the time of encoding string using UTF - 8 in android?

每当我尝试使用 UTF-8 编码或解码字符串时,它都会显示未处理的异常:UnsupportedEncodingException。

所以 Android Studio 给了我两个解决方案,它们是

1) 使用抛出 UnsupportedEncodingException 2) 将那段代码放在 try catch 与 UnsupportedEncodingException 作为 catch 参数之间..

那么使用哪一个是好的做法,为什么?

 public static String getEncodedString(String strOriginal) throws UnsupportedEncodingException {
    byte[] dataFirstName = strOriginal.getBytes("UTF-8");
    return Base64.encodeToString(dataFirstName, Base64.DEFAULT);
}

  public static String getEncodedString(String strOriginal)  {
    byte[] dataFirstName = new byte[0];
    try {
        dataFirstName = strOriginal.getBytes("UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    return Base64.encodeToString(dataFirstName, Base64.DEFAULT);
}

我会选择第二个片段,UTF-8 是每个平台都支持的标准字符编码之一,因此实际上永远不会发生异常。进一步传播它没有意义。

如果您正在为 API 19 或更高版本开发,您也可以使用

strOriginal.getBytes(StandardCharsets.UTF_8)

不会抛出异常。