📜  Java中的 CharsetEncoder isLegalReplacement() 方法及示例

📅  最后修改于: 2022-05-13 01:55:43.197000             🧑  作者: Mango

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)