免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1375 | 回复: 0
打印 上一主题 下一主题

Java的16进制与字符串的相互转换函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-24 17:05 |只看该作者 |倒序浏览
/**
  •   * 将指定byte数组以16进制的形式打印到控制台
  •   * @param hint String
  •   * @param b byte[]
  •   * @return void
  •   */
  • public static void printHexString(String hint, byte[] b) {
  •    System.out.print(hint);
  •    for (int i = 0; i b.length; i++) {
  •      String hex = Integer.toHexString(b & 0xFF);
  •      if (hex.length() == 1) {
  •        hex = '0' + hex;
  •      }
  •      System.out.print(hex.toUpperCase() + " ");
  •    }
  •    System.out.println("");
  • }
  • /**
  •   *
  •   * @param b byte[]
  •   * @return String
  •   */
  • public static String Bytes2HexString(byte[] b) {
  •    String ret = "";
  •    for (int i = 0; i b.length; i++) {
  •      String hex = Integer.toHexString(b & 0xFF);
  •      if (hex.length() == 1) {
  •        hex = '0' + hex;
  •      }
  •      ret += hex.toUpperCase();
  •    }
  •    return ret;
  • }
  • /**
  •   * 将两个ASCII字符合成一个字节;
  •   * 如:"EF"--> 0xEF
  •   * @param src0 byte
  •   * @param src1 byte
  •   * @return byte
  •   */
  • public static byte uniteBytes(byte src0, byte src1) {
  •    byte _b0 = Byte.decode("0x" + new String(new byte[]{src0})).byteValue();
  •    _b0 = (byte)(_b0 4);
  •    byte _b1 = Byte.decode("0x" + new String(new byte[]{src1})).byteValue();
  •    byte ret = (byte)(_b0 ^ _b1);
  •    return ret;
  • }
  • /**
  •   * 将指定字符串src,以每两个字符分割转换为16进制形式
  •   * 如:"2B44EFD9" --> byte[]{0x2B, 0x44, 0xEF, 0xD9}
  •   * @param src String
  •   * @return byte[]
  •   */
  • public static byte[] HexString2Bytes(String src){
  •    byte[] ret = new byte[8];
  •    byte[] tmp = src.getBytes();
  •    for(int i=0; i8; i++){
  •      ret = uniteBytes(tmp[i*2], tmp[i*2+1]);
  •    }
  •    return ret;
  • }
                   
                   
                   

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/59737/showart_1878151.html
  • 评分

    参与人数 1可用积分 +5 收起 理由
    starxing + 5 我很赞同

    查看全部评分

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP