Java Charset canEncode()方法及示例

Java Charset canEncode()方法及示例

canEncode()方法是 java.nio.charset 的一个内置方法,用于检查某个特定字符集是否支持编码。几乎所有的字符集都可以进行编码,只有少数字符集除外。

语法:

public boolean canEncode()

参数 :该函数不接受任何参数。

返回值 :该函数返回一个布尔值。如果它支持编码,则返回真,否则返回假。

下面是上述函数的实现。

程序1 :

// Java program to demonstrate
// the above function
  
import java.nio.charset.Charset;
import java.util.Iterator;
import java.util.Map;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // Creates a map of charsets
        Map<String, Charset> charsets
            = Charset.availableCharsets();
  
        // Iterator to store the type
        Iterator<Charset> iterator
            = charsets.values().iterator();
  
        // Iterate till we get all the charsets
        while (iterator.hasNext()) {
  
            // Get the next
            Charset all = (Charset)iterator.next();
  
            // Print all the charset which cannot encode
            if (all.canEncode() == false)
                System.out.println(all.displayName());
        }
    }
}

输出:

ISO-2022-CN
x-JISAutoDetect

程序2

// Java program to demonstrate
// the above function
  
import java.nio.charset.Charset;
import java.util.Iterator;
import java.util.Map;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // Creates a map of charsets
        Map<String, Charset> charsets
            = Charset.availableCharsets();
  
        // Iterator to store the type
        Iterator<Charset> iterator
            = charsets.values().iterator();
  
        // Iterate till we get all the charsets
        while (iterator.hasNext()) {
  
            // Get the next
            Charset all = (Charset)iterator.next();
  
            // Print all the charset which can encode
            if (all.canEncode() == true)
                System.out.print(all.displayName() + " ");
        }
    }
}

输出:

Big5 Big5-HKSCS CESU-8 EUC-JP EUC-KR GB18030 GB2312 GBK IBM-Thai IBM00858 IBM01140 IBM01141 IBM01142 IBM01143 IBM01144 IBM01145 IBM01146 IBM01147 IBM01148 IBM01149 IBM037 IBM1026 IBM1047 IBM273 IBM277 IBM278 IBM280 IBM284 IBM285 IBM290 IBM297 IBM420 IBM424 IBM437 IBM500 IBM775 IBM850 IBM852 IBM855 IBM857 IBM860 IBM861 IBM862 IBM863 IBM864 IBM865 IBM866 IBM868 IBM869 IBM870 IBM871 IBM918 ISO-2022-JP ISO-2022-JP-2 ISO-2022-KR ISO-8859-1 ISO-8859-13 ISO-8859-15 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-6 ISO-8859-7 ISO-8859-8 ISO-8859-9 JIS_X0201 JIS_X0212-1990 KOI8-R KOI8-U Shift_JIS TIS-620 US-ASCII UTF-16 UTF-16BE UTF-16LE UTF-32 UTF-32BE UTF-32LE UTF-8 windows-1250 windows-1251 windows-1252 windows-1253 windows-1254 windows-1255 windows-1256 windows-1257 windows-1258 windows-31j x-Big5-HKSCS-2001 x-Big5-Solaris x-COMPOUND_TEXT x-euc-jp-linux x-EUC-TW x-eucJP-Open x-IBM1006 x-IBM1025 x-IBM1046 x-IBM1097 x-IBM1098 x-IBM1112 x-IBM1122 x-IBM1123 x-IBM1124 x-IBM1166 x-IBM1364 x-IBM1381 x-IBM1383 x-IBM300 x-IBM33722 x-IBM737 x-IBM833 x-IBM834 x-IBM856 x-IBM874 x-IBM875 x-IBM921 x-IBM922 x-IBM930 x-IBM933 x-IBM935 x-IBM937 x-IBM939 x-IBM942 x-IBM942C x-IBM943 x-IBM943C x-IBM948 x-IBM949 x-IBM949C x-IBM950 x-IBM964 x-IBM970 x-ISCII91 x-ISO-2022-CN-CNS x-ISO-2022-CN-GB x-iso-8859-11 x-JIS0208 x-Johab x-MacArabic x-MacCentralEurope x-MacCroatian x-MacCyrillic x-MacDingbat x-MacGreek x-MacHebrew x-MacIceland x-MacRoman x-MacRomania x-MacSymbol x-MacThai x-MacTurkish x-MacUkraine x-MS932_0213 x-MS950-HKSCS x-MS950-HKSCS-XP x-mswin-936 x-PCK x-SJIS_0213 x-UTF-16LE-BOM X-UTF-32BE-BOM X-UTF-32LE-BOM x-windows-50220 x-windows-50221 x-windows-874 x-windows-949 x-windows-950 x-windows-iso2022jp

参考资料: https://docs.oracle.com/javase/9/docs/api/java/nio/charset/Charset.html#canEncode-

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Java 参考指南