java 字符编码-zucc字符在文件中编码
发布时间:2023-03-16 10:06 浏览次数:次 作者:佚名
我们可以使用编码方案将Unicode字符转换为字节序列,反之亦然。
java.nio.charset包提供了将CharBuffer编码/解码为ByteBuffer的类java 字符编码,反之亦然。
Charset类的对象表示编码方案。 CharsetEncoder类执行编码。 CharsetDecoder类执行解码。
我们可以通过传递字符集的名称作为它的参数,使用它的forName()方法获得Charset类的对象。
对于简单的编码和解码任务java 字符编码,我们可以使用Charset类的encode()和decode()方法。
以下代码显示如何对存储在字符缓冲区中的字符串Hello中的字符序列进行编码,并使用UTF-8编码方案对其进行解码。
Charset cs = Charset.forName("UTF-8"); CharBuffer cb = CharBuffer.wrap("Hello"); ByteBuffer encodedData = cs.encode(cb); CharBuffer decodedData = cs.decode(encodedData);
CharsetEncoder和CharsetDecoder类接受要编码或解码的输入块。
Charset类的encode()和decode()方法将编码和解码的缓冲区返回给我们。
以下代码显示如何从Charset对象获取编码器和解码器对象。
Charset cs = Charset.forName("UTF-8"); CharsetEncoder encoder = cs.newEncoder(); CharsetDecoder decoder = cs.newDecoder();
以下代码演示如何列出JVM支持的所有字符集。
import java.util.Map; import java.nio.charset.Charset; import java.util.Set; public class Main { public static void main(String[] args) { Mapmap = Charset.availableCharsets(); Set keys = map.keySet(); System.out.println("Available Character Set Count: " + keys.size()); for (String charsetName : keys) { System.out.println(charsetName); } } }