zoukankan      html  css  js  c++  java
  • 笔记:I/O流-字符集

    Java 库的 java.nio 包用 Charset 类统一了对字符集的转换,支付姐建立了两个字节Unicode码元序列与使用本地字符编码方式的字节序列之间的映射,Charset类使用的时由IANA字符集注册中心标准化的字符集名称,为了兼容其他的命名惯例,每个字符集都可以拥有许多别名,可以调用 aliases 方法返回由别名构成的 Set 对象,示例代码如下:

    Charset charset = Charset.forName("utf-8");

                    System.out.println("utf-8 charset");

                    Set<String> aliases = charset.aliases();

                    for (String a : aliases) {

                            System.out.println("aliase is " + a);

                    }

    为了确定在某个特定实现中哪些字符集是可用的,可以调用静态方法 avaliableCharsets 方法,示例代码如下:

    Map<String, Charset> charsetMap = Charset.availableCharsets();

             for (String c : charsetMap.keySet()) {

                  System.out.println(c);

            }

    如果某个字符不能被字符集表示,他将被转换为?,一旦有了字符集就可以使用他在包含Unicode码元的Java 字符串和编码而成的字节序列之间进行转换,下面是如何编码Java 字符串的代码:

            String str = "受到法律框架dsfjkl23";

            // 编码字符串到Byte数组

            ByteBuffer buffer = charset.encode(str);

            byte[] bytes = buffer.array();

            for (byte b : bytes) {

                   System.out.print(Integer.toHexString(b & 0xff) + " ");

            }

            System.out.println();

            // 将Byte数组解码为字符串

            ByteBuffer decodeBuffer = ByteBuffer.wrap(bytes);

            CharBuffer charBuffer = charset.decode(decodeBuffer);

            System.out.println(charBuffer.toString());

       

  • 相关阅读:
    【SAS NOTE】OUTPUT
    【SAS NOTES】_NULL_
    【SAS NOTE】sas 9.2 安装
    【SAS NOTE】FREQ
    纯数学教程 Page 203 例XLI (1)
    纯数学教程 Page 203 例XLI (3)
    纯数学教程 Page 203 例XLI (2)
    Prove Cauchy's inequality by induction
    纯数学教程 Page 325 例LXVIII (15) 调和级数发散
    纯数学教程 Page 325 例LXVIII (15) 调和级数发散
  • 原文地址:https://www.cnblogs.com/li3807/p/6804281.html
Copyright © 2011-2022 走看看