Java

如何验证java utf字符串的有效性

小樊
81
2024-09-30 04:44:22
栏目: 编程语言

要验证 Java 中的 UTF 字符串是否有效,您可以使用以下方法:

  1. 使用 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);
    }
}
  1. 使用正则表达式:您还可以使用正则表达式来验证字符串是否仅包含有效的 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 字符串是否有效。

0
看了该问题的人还看了