在Java中如何将字符串和16进制的数据格式互转? 
比方说:任意的字符串(可以包括中文),可以包含任何字符以及特殊符号,然后转为 这种格式:B0A2CBB9B5D9B7D2
急!!!!!在线等 高手们 帮帮忙.....

解决方案 »

  1.   


    不行啊、不能用在线工具,一定要在Java代码中去转换,因为这是传递过来的参数,但是这个参数是十六进制的,所以要解成字符串去,然后操作完数据库以后,再把需要返回的信息进行十六进制处理,然后返回,所以不能直接用其他软件....
      

  2.   

    首先用 String.getBytes()将字符串转换为byte[]数组,然后将数组内容依次输出为hex字符串
    反之亦然。
      

  3.   


    然后将数组内容依次输出为hex字符串? 怎么输出呢?
      

  4.   

    输出成你自己想要的就可以了
    用System.out.println();查看下
      

  5.   

    是不是为了做编码传输?
    那干嘛搞的这么复杂...
    用base64不就行了嘛... String str = "我是测试abcdASDF";

    BASE64Encoder encoder = new BASE64Encoder();
    BASE64Decoder decoder = new BASE64Decoder();

    String str2 = encoder.encode(str.getBytes());
    System.out.println("BASE64编码:" + str2);
    System.out.println("还原字符串:" + new String(decoder.decodeBuffer(str2)));
      

  6.   

    sun.misc.BASE64Encoder
    sun.misc.BASE64Dncoder
      

  7.   

    感谢大家的关注,不过问题已经解决了,主要是出现在中文编码上额问题,比方说:UTF-8是3字节,6个16进制字母的,所以 对接的时候就有点问题了