`
wangliya110
  • 浏览: 16739 次
  • 性别: Icon_minigender_2
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论
阅读更多

/**
  * 将字符串两位两位分开
  */
 public static String splitTwo(String aa)
 {
  aa = aa.replaceAll(".{2}(?!$)", "$0 ");
  aa = aa.replaceAll(" ", " 0x");
  aa = "0x".concat(aa);
  return aa;
 }
 
 
 /**
     * bytes转换成十六进制字符串
     * @param byte[] b byte数组
     * @return String 每个Byte值之间空格分隔
     */ 
    public static String byte2HexStr(byte[] b) 
    { 
        String stmp=""; 
        StringBuilder sb = new StringBuilder(""); 
        for (int n=0;n<b.length;n++) 
        { 
            stmp = Integer.toHexString(b[n] & 0xFF); 
            sb.append((stmp.length()==1)? "0"+stmp : stmp); 
            sb.append(" "); 
        } 
        return sb.toString().toUpperCase().trim(); 
    } 

 
 /**
     * bytes字符串转换为Byte值
     * @param String src Byte字符串,每个Byte之间没有分隔符
     * @return byte[]
     */ 
    public static byte[] hexStr2Bytes(String src) 
    { 
        int m=0,n=0; 
        int l=src.length()/2; 
        System.out.println(l); 
        byte[] ret = new byte[l]; 
        for (int i = 0; i < l; i++) 
        { 
            m=i*2+1; 
            n=m+1; 
            ret[i] = Byte.decode("0x" + src.substring(i*2, m) + src.substring(m,n)); 
        } 
        return ret; 
    }
   
 /**
     * unicode的String转换成String的字符串
     * @param String hex 16进制值字符串 (一个unicode为2byte)
     * @return String 全角字符串
     */ 
    public static String unicodeToString(String hex) 
    { 
        int t = hex.length() / 6; 
        StringBuilder str = new StringBuilder(); 
        for (int i = 0; i < t; i++) 
        { 
            String s = hex.substring(i * 6, (i + 1) * 6); 
            // 高位需要补上00再转 
            String s1 = s.substring(2, 4) + "00"; 
            // 低位直接转 
            String s2 = s.substring(4); 
            // 将16进制的string转为int 
            int n = Integer.valueOf(s1, 16) + Integer.valueOf(s2, 16); 
            // 将int转换为字符 
            char[] chars = Character.toChars(n); 
            str.append(new String(chars)); 
        } 
        return str.toString(); 
    }
   
 /**
     * String的字符串转换成unicode的String
     * @param String strText 全角字符串
     * @return String 每个unicode之间无分隔符
     * @throws Exception
     */ 
    public static String strToUnicode(String strText) 
        throws Exception 
    { 
        char c; 
        StringBuilder str = new StringBuilder(); 
        int intAsc; 
        String strHex; 
        for (int i = 0; i < strText.length(); i++) 
        { 
            c = strText.charAt(i); 
            intAsc = (int) c; 
            strHex = Integer.toHexString(intAsc); 
            if (intAsc > 128) 
                str.append("\\u" + strHex); 
            else // 低位在前面补00 
                str.append("\\u00" + strHex); 
        } 
        return str.toString(); 
    } 
   
    /** 
     * 十六进制转换字符串
     * @param String str Byte字符串(Byte之间无分隔符 如:[616C6B])
     * @return String 对应的字符串
     */   
    public static String hexStr2Str(String hexStr) 
    {   
        String str = "0123456789ABCDEF";   
        char[] hexs = hexStr.toCharArray();   
        byte[] bytes = new byte[hexStr.length() / 2];   
        int n;   
 
        for (int i = 0; i < bytes.length; i++) 
        {   
            n = str.indexOf(hexs[2 * i]) * 16;   
            n += str.indexOf(hexs[2 * i + 1]);   
            bytes[i] = (byte) (n & 0xff);   
        }   
        return new String(bytes);   
    } 

   
 /** 
     * 字符串转换成十六进制字符串
     * @param String str 待转换的ASCII字符串
     * @return String 每个Byte之间空格分隔,如: [61 6C 6B]
     */   
    public static String str2HexStr(String str) 
    {   
 
        char[] chars = "0123456789ABCDEF".toCharArray();   
        StringBuilder sb = new StringBuilder(""); 
        byte[] bs = str.getBytes();   
        int bit;   
         
        for (int i = 0; i < bs.length; i++) 
        {   
            bit = (bs[i] & 0x0f0) >> 4;   
            sb.append(chars[bit]);   
            bit = bs[i] & 0x0f;   
            sb.append(chars[bit]); 
            sb.append(' '); 
        }   
        return sb.toString().trim();   
    } 

 private static String hexString = "0123456789ABCDEF";
    public static String decode(String bytes)
 {
  ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);
  for (int i = 0; i < bytes.length(); i += 2)
   baos.write((hexString.indexOf(bytes.charAt(i)) << 4 | hexString.indexOf(bytes.charAt(i + 1))));
  return new String(baos.toByteArray());
 }
   
    /**
  * 将对应的字母转换ASCII值
  *
  * @param n
  * @return
  */
 private static String toHexUtil(int n)
 {
  String rt = "";
  switch (n)
  {
  case 10:
   rt += "A";
   break;
  case 11:
   rt += "B";
   break;
  case 12:
   rt += "C";
   break;
  case 13:
   rt += "D";
   break;
  case 14:
   rt += "E";
   break;
  case 15:
   rt += "F";
   break;
  default:
   rt += n;
  }
  return rt;
 }
 
 /**
  * 将字母转换为对应16进制格式
  *
  * @param n
  * @return
  */
 public static String toHex(int n)
 {
  StringBuilder sb = new StringBuilder();
  if (n / 16 == 0)
  {
   return toHexUtil(n);
  }
  else
  {
   String t = toHex(n / 16);
   int nn = n % 16;
   sb.append(t).append(toHexUtil(nn));
  }
  return sb.toString();
 }
 /** 将字符串解析为ASCII
  *
  * @param str
  * @return
  */
 public static String parseAscii(String str)
 {
  StringBuilder sb = new StringBuilder();
  byte[] bs = str.getBytes();
  for (int i = 0; i < bs.length; i++)
   sb.append(toHex(bs[i]));

  return sb.toString();
 }

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    C语言字符串转换为Python字符串的方法

    C语言字符串转换为Python字符串的方法 C语言字符串转换为Python字符串是指将C语言中的字符串数据转换为Python中的字符串对象,以便在Python环境中使用。下面详细介绍了C语言字符串转换为Python字符串的方法。 使用...

    (c#)字符串转换成字符数组 字符串转换成int 数组

    在本篇文章中,我们将深入探讨如何在C#中将字符串转换为字符数组及整数数组。这是一项在处理文本数据时非常有用的技术,特别是在需要对数据进行解析、格式化或进一步处理的情况下。以下是对该主题的详细解释: ### ...

    TIA博途中字符串转换相关指令的使用方法(一).docx

    TIA 博途中字符串转换相关指令的使用方法 TIA 博途中字符串转换相关指令的使用方法是指在 Siemens SIMATIC TIA Portal 中使用的字符串转换相关指令,包括移动和转换字符串指令、字符串和数值相互进行转换指令等。 ...

    字符串转换工具

    在IT行业中,字符串转换工具是一种非常实用的软件,主要用于处理和转换各种字符串数据。这类工具在服务器架设、数据处理、编程开发等多个场景下都扮演着重要角色。下面将详细介绍字符串转换工具及其在服务器架设过程...

    张志晨VB实例教程之字符串转换成变量名

    ### 张志晨VB实例教程之字符串转换成变量名 #### 概述 在Visual Basic (简称VB)编程中,有时我们需要将一个字符串转换成变量名进行操作,这对于动态生成变量或实现某些特殊功能非常有用。本文将详细介绍两种在VB中...

    十六进制与字符串转换

    1. **十六进制到字符串转换**: - `sprintf()`:这个标准库函数可以用来将数值转换为字符串。例如,如果你有一个整数`int num`,你可以使用`sprintf(hexStr, "%X", num)`将其转换为十六进制字符串。其中,`%X`是一...

    SQLServer逗号分隔的字符串转换成表

    SQL Server 逗号分隔的字符串转换成表 SQL Server 逗号分隔的字符串转换成表是指将一个逗号分隔的字符串转换成一个表结构,以便于进行查询、更新或者删除等操作。下面是将逗号分隔的字符串转换成表的步骤: 1. ...

    C语言常用数字和字符串转换函数

    C语言常用数字和字符串转换函数,toi 字符串转换成整型数 atol 字符串转换成长整型数 atof 字符串转换成浮点型数 strtol 字符串转换成长整型数 strtoul 字符串转换成无符号长整型数 strtod 字符串转换成浮点数

    万能字符串转换软件工具_45软件 v1.2.zip

    万能字符串转换软件工具是一款支持字符串转16进制,16进制转字符串,字符串转Unicode,Unicode转字符串,简体转繁体(GB2312转GBK),繁体转简体(GBK转GB2312),繁体转BIG5(GBK转BIG5),BIG5转繁体(BIG5转GBK),字符串...

    实例分析PHP将字符串转换成数字的方法

    number_format()函数用于将字符串转换为数字。它会在成功时返回格式化的数字,否则会在失败时给出E_WARNING。 &lt;?php $num = "1000.314"; // 使用number_format()函数将字符串转换为数字 echo number_format...

    将字符串转换成日期

    在C++编程中,处理日期和时间通常涉及到各种数据类型和函数,其中包括将字符串转换为日期对象。在这个场景中,我们需要将字符串型的日期转换为`CTime`类型。`CTime`是C++标准库中的一个类,它用于表示日期和时间。...

    C#实现将字符串转换成日期格式的方法

    本文实例讲述了C#实现将字符串转换成日期格式的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:string s = “20120114161145”; Response.Write(DateTime.ParseExact(s, “yyyyMMddHHmmss”, new System...

    字符串转换为对应数

    ### 字符串转换为对应数值:进制转换详解 #### 一、概述 在计算机科学领域,经常需要处理不同进制的数据转换问题。本篇文章主要介绍如何将字符串形式的数值转换为对应的数值类型,特别是针对十六进制字符串的转换...

    js string转date(js字符串转换成日期,代码调试通)

    js string转date,js字符串转换成日期,此代码支持将datetime(年月日小时分秒格式)转换为js的Date类型,程序已调试并支持在HTML中运行、代码请见附件。

    json字符串转换c++类对象

    在C++编程中,将JSON字符串转换为C++类对象是一项常见的任务,特别是在处理网络通信、数据存储或配置文件时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析...

    C++实现十六进制字符串转换为十进制整数的方法

    本文实例讲述了C++实现十六进制字符串转换为十进制整数的方法。分享给大家供大家参考。具体实现方法如下: /* * 将十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值 */ #include #include...

    C++将文本字符串转换成BMP图片

    本篇文章将深入探讨如何使用C++编程语言将文本字符串转换成BMP(Bitmap)图片。 首先,我们需要了解BMP文件格式。BMP是Windows操作系统中常见的位图文件格式,它存储的是未经压缩的像素数据,包括图像宽度、高度、...

    vc 16进制字符串转换为10进制的整数

    在VC++编程环境中,我们经常需要处理不同进制之间的转换,比如将16进制的字符串转换成10进制的整数。16进制(Hexadecimal)是一种逢16进1的计数制,它使用数字0到9以及字母A到F来表示数值,而10进制是我们日常生活中...

Global site tag (gtag.js) - Google Analytics