java . io . unsupportedencodinegexception 在 Java 中的示例
原文:https://www . geesforgeks . org/Java-io-unsupportedencodinegexception-in-Java-with-examples/
当在 java 字符串或字节中使用不支持的字符编码方案时,会出现Java . io . unsupportedencodinegexception。java String getBytes 方法将请求的字符串转换为指定编码格式的字节。如果 java 不支持编码格式,方法 String getBytes 将引发具有给定编码格式的 Java . io . unSupportedencodinegexception。
字符编码用于确定如何将原始二进制解释为字符。CP1252 中英文视窗系统的默认编码。其他语言和系统可以使用不同的默认编码。UTF-8 编码方案通常用作字符编码方案。在 java 中,String.getBytes()和 StringCoding.encode()方法用于在原始字节和 java 字符串之间进行解释。
*班级查看器*
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
java.io.UnsupportedEncodingException
*记住:*它确实实现了 Serializable 接口。
**语法:
java public class UnsupportedEncodingException extends IOException
**
不支持字符编码。接下来,让我们看看这个类的构造函数,如下所示:
- *不支持 dencodinegexception():*构造一个不包含详细信息的不支持 dencodinegexception。
- *不支持的拒绝例外(字符串):*构建一个包含详细消息的不支持的拒绝例外。
*实施:*
现在让我们找到一条出路,以便在 java 中重现这个问题。我们将借助下面提供的一个例子继续进行,这个例子将抛出Java . io . unsupportdencodinegexception。“UTF”编码方案是无效的编码方案名称。这是因为如果编码方案未知或不受支持,java 无法将字符串解释为字节。如果识别出未知或不支持的编码方法,Java 将抛出 Java . io . unsupportdencodinegexception。
*例*
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);
}
}
*输出:*
现在我们非常熟悉这个异常,并且已经讨论了它为什么会发生。现在,让我们想出一个办法,通过提出解决方案来摆脱 iff 这个例外。应该在 String.getBytes 方法中提供 java 支持的编码方案名称。在继续下一步之前,请仔细查看这里提供的一套方法。
因此,当需要对编码过程进行更多控制时,应该使用 CharsetEncoder 类。方法返回一个字节数组。
*例*
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);
}
}
**Output
```java Given String : GeeksforGeeks Output bytes : [B@7cc355be
```**
版权属于:月萌API www.moonapi.com,转载请注明出处