阅读量:127
要验证 Java 中的 UTF 字符串是否有效,您可以使用以下方法:
- 使用
isValid()方法:Java 提供的String类有一个isValid()方法,用于检查字符串是否由有效的 UTF-16 编码字符组成。
public class Main {
public static void main(String[] args) {
String utfString = "Hello, 你好!";
boolean isValid = utfString.isValid();
System.out.println("Is the UTF string valid? " + isValid);
}
}
- 使用正则表达式:您还可以使用正则表达式来验证字符串是否仅包含有效的 UTF-8 字符。UTF-8 字符的范围是 U+0000 到 U+10FFFF。
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String utfString = "Hello, 你好!";
boolean isValid = isValidUtf8(utfString);
System.out.println("Is the UTF string valid? " + isValid);
}
public static boolean isValidUtf8(String input) {
// 正则表达式匹配所有有效的 UTF-8 字符
String regex = "^[\u0000-\u007F\u0080-\u07FF\u0800-\uFFFF\u{10000}-\u{10FFFF}]+$";
Pattern pattern = Pattern.compile(regex, Pattern.UNICODE_CHARACTER_CLASS);
return pattern.matcher(input).matches();
}
}
这两种方法都可以帮助您验证 Java 中的 UTF 字符串是否有效。