Java CharsetEncoder isLegalReplacement()方法及示例
isLegalReplacement() 方法是 java.nio.charset.CharsetEncoder 的一个内置方法,它给我们一个指示,告诉我们给定的字节数组是否是这个编码器的合法替换值。如果可以将替换值解码为一个或多个16位Unicode字符,那么该替换值就是合法的。
语法:
public boolean isLegalReplacement(byte[] repl)
参数 : 该函数接受一个强制性参数 repl ,它指定了要测试的字节数组。
返回值 :该函数返回一个布尔值。如果该字节数组是编码器的合法替换,则返回真,否则返回假。
下面是上述函数的实现。
程序1 :
// 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
程序2
// 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://docs.oracle.com/javase/10/docs/api/java/nio/charset/CharsetEncoder.html#isLegalReplacement(byte%5B%5D)