java IO 字节编码
来源:互联网 发布:少男的喜欢lofter乐乎 编辑:程序博客网 时间:2024/05/22 13:32
记录一下字节编码的知识:
Eclipse的默认编码:
<span style="white-space:pre"></span>String s1 = "寂寞love";//编译器默认的编码GBK,中文占2字节byte []b1 = s1.getBytes();for(byte b:b1){System.out.print(Integer.toHexString(b & 0xff)+" ");//与运算去掉前面6个f}输出:
转化为utf-8后:
//将编码转换成utf-8后中文占用3个字节,字母一个byte[]b2 = s1.getBytes("utf-8");for(byte b:b2){System.out.print(Integer.toHexString(b & 0xff)+" ");}输出:
转化为utf-16be:
//java用的编码是utf-16be,中文和字母都占用2个字节byte[]b3 = s1.getBytes("utf-16be");for(byte b:b3){System.out.print(Integer.toHexString(b & 0xff)+" ");}结果为:
当把字节序列转化为字符创时要用相同的编码,否则会出现乱码:
<span style="white-space:pre"></span>String str = new String(b2);System.out.println(str);输出为:
所以要这样转换:
<span style="white-space:pre"></span>String str2 = new String(b2,"utf-8");System.out.println(str2);结果:
下面是完整代码:
public class IOByte {public static void main(String []args) throws UnsupportedEncodingException{String s1 = "寂寞love";//编译器默认的编码GBK,中文占2字节byte []b1 = s1.getBytes();for(byte b:b1){System.out.print(Integer.toHexString(b & 0xff)+" ");//与运算去掉前面6个f}System.out.println();//将编码转换成utf-8后中文占用3个字节,字母一个byte[]b2 = s1.getBytes("utf-8");for(byte b:b2){System.out.print(Integer.toHexString(b & 0xff)+" ");}System.out.println();//java用的编码是utf-16be,中文和字母都占用2个字节byte[]b3 = s1.getBytes("utf-16be");for(byte b:b3){System.out.print(Integer.toHexString(b & 0xff)+" ");}System.out.println();//当把字节序列转化为字符创时要用相同的编码,否则会出现乱码String str = new String(b2);System.out.println(str);//正确转换String str2 = new String(b2,"utf-8");System.out.println(str2);}}
完整输出:
1 0
- Java IO 字节编码
- java IO 字节编码
- java IO操作之字符、字节和编码
- Java IO 字节流
- java IO字节流
- 【Java】IO字节流
- Java IO字节流
- Java字节编码
- java中的字节编码
- Lesson_for_java_day16--java中的异常和IO流(File类、字节流、字符流、指定编码格式)
- java基础之IO转换流--OutputStreamWriter(字符流通往字节流,可以指定字符编码的IO流对象)
- Java IO之字节流
- java笔记-io字节流
- Java IO之字节流
- Java IO流字节读取
- Java IO之字节流
- Java IO 之字节流
- Java IO 3:字节流
- POJ2676 Sudoku
- Yii2.0 search 搜索类
- AddressBookUI
- hdu--3790
- 爱生活
- java IO 字节编码
- 数位DP-HDU-3555-Bomb
- c语言中认识指针
- 使用WPR和WPA分析线程等待(分析锁的影响)
- 1231 - Coin Change (I) (简单DP)
- 3-8译码器-20151028
- 安装linux系统之RHEL7或CENTOS7系统(完整版)
- C/C++函数参数读取顺序
- java基础之static关键字(1)