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
Remember: It does implement Serializable interfaces.
Syntax:
不支持字符编码。继续前进,让我们仔细看看这个类的构造函数,如下所示:
- UnsupportedEncodingException():构造一个没有详细消息的 UnsupportedEncodingException。
- 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);
}
}