zoukankan      html  css  js  c++  java
  • java_io学习_编码

    package io;

    public class encodingDemo{

    public static void main(String[] args) throws Exception{
    // TODO Auto-generated method stub
    String s="李雪涛ja";//转换成字节序列用的是项目默认编码
    byte[] byte1=s.getBytes();
    for(byte b:byte1)
    //把字节(转换成了int)以16进制显示
    System.out.print(Integer.toHexString(b&0xff)+" ");
    System.out.println();
    byte[] byte2=s.getBytes("gbk");
    //gbk编码英文占1个字节,中文占2个字节
    for(byte b:byte2){
    System.out.print(Integer.toHexString(b&0xff)+" ");
    }
    System.out.println();
    byte[] byte3=s.getBytes("utf-8");
    //utf-8中中文占3个字节,英文占1个字节
    for(byte b:byte3)
    System.out.print(Integer.toHexString(b&0xff)+" ");
    //java是双字节utf-16
    byte[] byte4=s.getBytes("utf-16be");
    for(byte b:byte4)
    System.out.print(Integer.toHexString(b&0xff)+" ");
    System.out.println();
    /*
    * 当你的字节序列是某种编码是,这个时候想把字节序列变为
    * 字符串也需要用这种编码方式,否则会乱码
    * */
    String str1=new String(byte4);
    System.out.println(str1);
    String str2=new String(byte4,"utf-16be");
    System.out.println(str2);
    /*
    * 文本文件 就是字节序列
    * 可以试任意编码的字节序列
    * 如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码
    */
    }

    }

    输出:

    c0 ee d1 a9 cc ce 6a 61
    c0 ee d1 a9 cc ce 6a 61
    e6 9d 8e e9 9b aa e6 b6 9b 6a 61 67 4e 96 ea 6d 9b 0 6a 0 61
    gN栮m? j a

    李雪涛ja

  • 相关阅读:
    设计模式之访问者模式
    设计模式之命令模式
    设计模式之迭代器模式
    tomcat8.0.11性能优化
    java 基础 --集合--012
    StringBuffer和StringBuilder的区别
    jquery 入门
    java 基础 --匿名内部类-008
    java 基础 --多态--009
    java 基础--继承--007
  • 原文地址:https://www.cnblogs.com/jasonlixuetao/p/5551540.html
Copyright © 2011-2022 走看看