⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 encodedecode.java

📁 Java编程思想第三版,作者书中全部原代码,
💻 JAVA
字号:
//: c12:EncodeDecode.java
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
import java.nio.*;
import java.nio.charset.*;
import com.bruceeckel.simpletest.*;

public class EncodeDecode {
  private static Test monitor = new Test();
  public static void print(ByteBuffer bb) {
    while(bb.hasRemaining())
      System.out.print(bb.get() + " ");
    System.out.println();
    bb.rewind();
  }
  public static void main(String[] args) {
    ByteBuffer bb = ByteBuffer.wrap(
      new byte[]{0,0,0,0,0,0,0,(byte)'a'});
    System.out.println("Initial Byte Buffer");
    print(bb);
    Charset[] csets = {Charset.forName("UTF-16LE"),
    Charset.forName("UTF-16BE"),
    Charset.forName("UTF-8"),
    Charset.forName("US-ASCII"),
    Charset.forName("ISO-8859-1")};
    for(int i = 0; i < csets.length; i++) {
      System.out.println(csets[i].name() + ":");
      print(csets[i].encode(bb.asCharBuffer()));
      csets[i].decode(bb);
      bb.rewind();
    }
    monitor.expect(new String[] {
      "Initial Byte Buffer",
      "0 0 0 0 0 0 0 97 ",
      "UTF-16LE:",
      "0 0 0 0 0 0 97 0 ",
      "UTF-16BE:",
      "0 0 0 0 0 0 0 97 ",
      "UTF-8:",
      "0 0 0 97 ",
      "US-ASCII:",
      "0 0 0 97 ",
      "ISO-8859-1:",
      "0 0 0 97 "
    });
  }
} ///:~

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -