Constructor toGenericString() 当在 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:它确实实现了可序列化接口。
用法:
public class UnsupportedEncodingException extends IOException
不支持字符编码。进一步,让我们来看看这个类的构造函数,如下所示:
- UnsupportedEncodingException():构造一个没有详细消息的UnsupportedEncodingException。
- 不支持的EncodingException(字符串):构造一个带有详细消息的UnsupportedEncodingException。
执行:
现在让我们找到一种方法来重现这个问题,如 java 中的 UnsupportedEncodingException 所示。我们将在下面提供的示例的帮助下继续下去,该示例将抛出 java.io.UnsupportedEncodingException 。 “UTF” 编码方案是无效的编码方案名称。这是因为如果编码方案未知或不支持,java无法将字符串解释为字节。 Java 将抛出 java.io。 UnsupportedEncodingException 如果识别出未知或不支持的编码方法。
示例
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);
}
}
输出:
现在我们已经熟悉了异常并讨论了它发生的原因。现在让我们通过提出解决方案来找出摆脱此异常的方法。 java支持的编码方案名称应在String.getBytes方法中提供。请仔细阅读此处提供的一组方法在继续之前。
因此,当需要对编码过程进行更多控制时,应使用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);
}
}
Given String : GeeksforGeeks Output bytes : [B@7cc355be
相关用法
- Java java.io.BufferedInputStream.mark()用法及代码示例
- Java java.io.FileNotFoundException用法及代码示例
- Java java.lang.reflect.AccessibleObject.getAnnotation()用法及代码示例
- Java java.lang.reflect.AccessibleObject.getAnnotations()用法及代码示例
- Java java.lang.reflect.AccessibleObject.getDeclaredAnnotations()用法及代码示例
- Java java.lang.reflect.AccessibleObject.isAccessible()用法及代码示例
- Java java.lang.reflect.AccessibleObject.setAccessible()用法及代码示例
- Java java.lang.reflect.Array.get()用法及代码示例
- Java java.lang.reflect.Array.getBoolean()用法及代码示例
- Java java.lang.reflect.Array.getByte()用法及代码示例
- Java java.lang.reflect.Array.getChar()用法及代码示例
- Java java.lang.reflect.Array.getDouble()用法及代码示例
- Java java.lang.reflect.Array.getFloat()用法及代码示例
- Java java.lang.reflect.Array.getInt()用法及代码示例
- Java java.lang.reflect.Array.getLength()用法及代码示例
- Java java.lang.reflect.Array.getLong()用法及代码示例
- Java java.lang.reflect.Array.getShort()用法及代码示例
- Java java.lang.reflect.Array.newInstance()用法及代码示例
- Java java.lang.reflect.Array.set()用法及代码示例
- Java java.lang.reflect.Array.setBoolean()用法及代码示例
- Java java.lang.reflect.Array.setByte()用法及代码示例
- Java java.lang.reflect.Array.setChar()用法及代码示例
- Java java.lang.reflect.Array.setDouble()用法及代码示例
- Java java.lang.reflect.Array.setFloat()用法及代码示例
- Java java.lang.reflect.Array.setInt()用法及代码示例
注:本文由纯净天空筛选整理自praveen13kulkarni大神的英文原创作品 java.io.UnsupportedEncodingException in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。