Java IO流 文件的编码实例代码

2025-05-29 0 41

文件编码

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37
package cn.test;

import java.io.UnsupportedEncodingException;

public class Demo15 {

public static void main(String[] args) throws UnsupportedEncodingException {

String str = "你好ABC123";

byte[] b1 = str.getBytes();//转换成字节系列用的是项目默认的编码

for (byte b : b1) {

//把字节(转换成了int)以十六进制方式显示

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

}

System.out.println("");

//utf8编码,中文占用3个字节,英文和数字占用1个字节

byte[] b2 = str.getBytes("utf8");

for (byte b : b2) {

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

}

System.out.println("");

//gbk编码,中文占用两个字节,英文和数字占用1个字节

byte[] b3 = str.getBytes("gbk");

for (byte b : b3) {

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

}

System.out.println("");

//java是双字节编码 utf-16be

//utf-16be编码,中文占2个字节,英文和数字也占用2个字节

byte[] b4 = str.getBytes("utf-16be");

for (byte b : b4) {

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

}

System.out.println("");

//当字节序列是某种编码时,这时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码

String str1 = new String(b4);//使用项目默认的编码

System.out.println(str1);

String str2 = new String(b4, "utf-16be");

System.out.println(str2);

}

}

  执行结果:

?

1

2

3

4

5

6
e4 bd a0 e5 a5 bd 41 42 43 31 32 33

e4 bd a0 e5 a5 bd 41 42 43 31 32 33

c4 e3 ba c3 41 42 43 31 32 33

4f 60 59 7d 0 41 0 42 0 43 0 31 0 32 0 33

O`Y}ABC123

你好ABC123

  文件就是字节序列,可以是任意编码的字节序列。

  如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码(中文系统下,ansi编码代表gbk编码

好了,以上所述是小编给大家介绍的Java IO流 文件编码的实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

原文链接:http://www.cnblogs.com/tianxintian22/archive/2017/05/05/6813085.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Java IO流 文件的编码实例代码 https://www.kuaiidc.com/116548.html

相关文章

发表评论
暂无评论