在Java中,可以使用java.nio.charset
包中的Charset
類和CharsetEncoder
類來檢查字符串是否符合Unicode編碼
import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.CodingErrorAction;
public class UnicodeValidation {
public static void main(String[] args) {
String input = "Hello, 你好!"; // 示例字符串
boolean isValidUnicode = isValidUnicode(input);
if (isValidUnicode) {
System.out.println("字符串符合Unicode編碼");
} else {
System.out.println("字符串不符合Unicode編碼");
}
}
private static boolean isValidUnicode(String input) {
CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder();
encoder.onMalformedInput(CodingErrorAction.REPORT);
encoder.onUnmappableCharacter(CodingErrorAction.REPORT);
return encoder.canEncode(input);
}
}
在這個示例中,我們創建了一個名為isValidUnicode
的方法,該方法接受一個字符串作為輸入。然后,我們使用Charset.forName("UTF-8").newEncoder()
創建一個UTF-8編碼器。接下來,我們設置編碼器在遇到格式錯誤或無法映射的字符時的行為:將它們報告為錯誤。最后,我們調用encoder.canEncode(input)
來檢查輸入字符串是否可以被編碼為UTF-8。如果可以,則返回true
,表示字符串符合Unicode編碼;否則返回false
。