String aa =“12332”
aa.getBytes("Unicode")同样的代码
为什么转换的值不同
第一种
-2 -1 0 49 0 50 0 51 0 51 0 50
第二种
-1 -2 49 0 50 0 51 0 51 0 50 0正好字节都反了。。是因为什么呢。。
就这么多分了。。谢谢大家了

解决方案 »

  1.   

    或许你可以看看这个http://blog.sina.com.cn/s/blog_62291e850100fzbm.html
      

  2.   

    两个是用不同的tomcat来运行的。是不是因为这个的配置不同?
      

  3.   


    public static void main(String[] args)throws Exception {
    String aa ="12332";
    byte[] arr = aa.getBytes("UTF-16");
    System.out.println(java.util.Arrays.toString(arr));//[-2, -1, 0, 49, 0, 50, 0, 51, 0, 51, 0, 50]
    arr = aa.getBytes("UTF-16LE");
    System.out.println(java.util.Arrays.toString(arr));//[49, 0, 50, 0, 51, 0, 51, 0, 50, 0]
    arr = aa.getBytes("UTF-16BE");
    System.out.println(java.util.Arrays.toString(arr));//[49, 0, 50, 0, 51, 0, 51, 0, 50, 0]
    }
      

  4.   


    我还得问一句,不同的tomcat是啥意思,一台机器上的两个还是两台机器上,如果是两台机器,这两台机器是不是操作系统不一样啊神马的?
      

  5.   

    如果是大端小端的问题
    你可以去搜索以下 big endian 和 little endian如果不是的话额,你可以也先看一下那个,就当多学学东西,至于原因再考虑
      

  6.   

    确实是big endian 和 little endian的问题。。我想知道为什么。。Tomcat也是一个。。不过一个是用tomcat的直接启动。。另一个用myeclipse绑定tomcat启动就出现这种问题了
      

  7.   


    自己查看一下tomcat启动时的两种方式传入的参数有什么不同
      

  8.   

    Unicode 是字符集,不是字符编码,不要在 Unicode 上随便转换成为字节!默认采用 UnicodeLittle 进行转换。另外,转换代码就看到一行,鬼知道你第一种、第二种指的是什么!!!
      

  9.   

    Unicode 是字符集,不是字符编码,不要在 Unicode 上随便转换成为字节!学习了。