问答详情
源自:4-4 字节流之数据输入输出流

字符编码相关

String str = "中国"; 

byte[] bt = str.getBytes("utf-8"); 

for(byte b:bt){

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

输出结果为: e4 b8 ad e5 9b bd 

 为什么 dos.writeUTF("中国"); 结果是 00  06  e4  b8  ad  e5  9b  bd  ? 前边的 00 06 是什么?

提问者:mutou3443 2016-08-18 13:05

个回答

  • XhstormR
    2016-09-04 10:32:07

    编码方式不一样。

  • 诚俊杰
    2016-08-18 18:13:04

    这是他老外自己的代码实现的,你可查看源代码

    Dug调试如下,希望你能理解:

    57b589f800016b7105000272.jpg

    http://img.mukewang.com/57b58a2a00019a4b16570613.jpg

    57b589f90001298505000262.jpg



  • 雪中_悍刀行
    2016-08-18 17:59:35

    不知道