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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。