Java中的 CharsetEncoder isLegalReplacement() 方法及示例
isLegalReplacement()方法是Java.nio.charset.CharsetEncoder的内置方法,它可以指示给定的字节数组是否是此编码器的合法替换值。如果可以将替换解码为一个或多个 16 位 Unicode字符,则替换是合法的。
语法:
public boolean isLegalReplacement(byte[] repl)
参数:该函数接受一个强制参数repl ,它指定要测试的字节数组。
返回值:该函数返回一个布尔值。如果字节数组是编码器的合法替换,则返回 true,否则返回 false。
下面是上述函数的实现:
方案一:
// Java program to implement
// the above function
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
public class Main {
public static void main(String[] args) throws Exception
{
// Gets the encoder
CharsetEncoder encoder = Charset.forName("UTF8").newEncoder();
// Prints if legal or not
System.out.println(encoder.isLegalReplacement(new byte[] {}));
}
}
输出:
true
方案二:
// Java program to implement
// the above function
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
public class Main {
public static void main(String[] args) throws Exception
{
// Gets the encoder
CharsetEncoder encoder = Charset.forName("US-ASCII").newEncoder();
// Prints if legal or not
System.out.println(encoder.isLegalReplacement(new byte[] {}));
}
}
输出:
true
参考: https: Java/nio/charset/CharsetEncoder.html#isLegalReplacement(byte%5B%5D)