📜  Java的.io.UnsupportedEncodingException在Java中与实例

📅  最后修改于: 2022-05-13 01:54:35.218000             🧑  作者: Mango

Java的.io.UnsupportedEncodingException在Java中与实例

Java .io.UnsupportedEncodingException 当在Java字符串或字节中使用不受支持的字符编码方案时发生。 Java String getBytes 方法将请求的字符串转换为指定编码格式的字节。如果Java不支持编码格式,String getBytes 方法将抛出Java.io.UnsupportedEncodingException 和给定的编码格式。

字符编码用于确定如何将原始二进制文件解释为字符。 CP1252 中英文 Windows 系统的默认编码。其他语言和系统可以使用不同的默认编码。 UTF-8 编码方案一般用作字符编码方案。在Java,String.getBytes() 和 StringCoding.encode() 方法用于在原始字节和Java字符串之间进行解释。

类查看器

java.lang.Object
    java.lang.Throwable
        java.lang.Exception
            java.io.IOException
                java.io.UnsupportedEncodingException

不支持字符编码。继续前进,让我们仔细看看这个类的构造函数,如下所示:

  1. UnsupportedEncodingException():构造一个没有详细消息的 UnsupportedEncodingException。
  2. UnsupportedEncodingException(String s):构造一个带有详细消息的 UnsupportedEncodingException。

执行:

现在让我们找到一个出路,以便如何重现这个问题,如Java所述的 UnsupportedEncodingException 。我们将在下面提供的示例的帮助下继续进行,该示例将抛出Java.io.UnsupportedEncodingException。 “UTF”编码方案是无效的编码方案名称。这是因为如果编码方案未知或不受支持, Java无法将字符串解释为字节。 Java会抛出Java.io。 UnsupportedEncodingException 如果识别出未知或不受支持的编码方法。

例子

Java
public class UnsupportedEncodingException
extends IOException


Java
// Java Program to Illustrate UnsupportedEncodingException
  
// Main class
// StringGetBytes
class GFG {
  
    // Main driver method
    public static void main(String[] args) throws Exception
    {
  
        // Custom input string
        String str = "GeeksforGeeks";
        // Declaring a byte array
        byte[] bytes;
  
        bytes = str.getBytes("UTF");
  
        // Now here we are trying printing
        // given string and corresponding output string
        System.out.println("Given  String : " + str);
        System.out.println("Output bytes   : " + bytes);
    }
}


输出:

现在我们非常熟悉异常并讨论了它为什么会发生。现在让我们通过提出解决方案来找出解决此异常的方法。应在 String.getBytes 方法中提供Java支持的编码方案名称。在继续之前,请仔细阅读此处提供的一组方法。

因此,当需要对编码过程进行更多控制时,应使用 CharsetEncoder 类。 String.getBytes 方法返回一个字节数组。

例子

Java

// Java Program to Resolve UnsupportedEncodingException
  
// Main class
// StringGetBytes
public class GFG {
  
    // Main driver method
    public static void main(String[] args) throws Exception
    {
  
        // Custom input string
        String str = "GeeksforGeeks";
        byte[] bytes;
  
        // Getting output bytes via help of getBytes()
        // method
        bytes = str.getBytes("UTF-16");
  
        // Print and display input string and
        // corresponding UTF16 string
        System.out.println("Given  String : " + str);
        System.out.println("Output bytes   : " + bytes);
    }
}
输出
// Java Program to Resolve UnsupportedEncodingException
  
// Main class
// StringGetBytes
public class GFG {
  
    // Main driver method
    public static void main(String[] args) throws Exception
    {
  
        // Custom input string
        String str = "GeeksforGeeks";
        byte[] bytes;
  
        // Getting output bytes via help of getBytes()
        // method
        bytes = str.getBytes("UTF-16");
  
        // Print and display input string and
        // corresponding UTF16 string
        System.out.println("Given  String : " + str);
        System.out.println("Output bytes   : " + bytes);
    }
}