`

java 十六进制字符串互转

    博客分类:
  • java
 
阅读更多


import java.util.regex.Pattern;

/**
 * @ClassName: CharConvertUtils
 * @Description: 字符转换
 * @author yunlong.xue
 * @date 2012-8-28 下午01:37:46
 *
 */
public class CharConvertUtils {
    /**
     * 字符串转为十六进制数
     * @param strText
     * @return
     * @throws Exception
     */
    public static String toUnicode(String strText){
        char c;
        String strRet = "";
        int intAsc;
        String strHex;
        for (int i = 0; i < strText.length(); i++) {
            c = strText.charAt(i);
            intAsc = (int) c;
            if (intAsc > 128) {
                strHex = Integer.toHexString(intAsc);
                strRet += strHex;
            } else {
                strRet = strRet + c;
            }
        }
        return strRet;
    }
   
      /**
      * 转化十六进制编码为字符串
      * 十六进要求的格式应该四位以空格分割 (格式化方法为)
      */
     public static String hextoString(String msg) {
          // 利用正则表达式,用空格作为分隔符
          Pattern pattern;
          pattern = Pattern.compile(" ");
          String[] strs = pattern.split(msg);
          char[] foreString = new char[strs.length];
          String hexNum;
          for (int i = 0; i < strs.length; i++) {
           hexNum = strs[i];// 获得"\\u"后面的十六进制数
           int value = Integer.parseInt(hexNum, 16);// 将其转化为十进制数
           foreString[i] = (char) value;
          }
          return new String(foreString);
         }
     
     
     /**
      * 格式化字符串  四位以 split 分开
      * @param str
      * @param split 分割符
      * @return
      */
     public static String formatCount(String str,String split){
           String ret="";
           for (int i=0;i<str.length();i++){
            ret=ret+str.substring(i,i+1);
            if (ret.length()%5==4){
                ret=ret + split;
                }   
           } 
           return ret;
        }
     
     public static void main(String[] args) {
        String s="中国证券报";
        s=toUnicode(s);
        System.out.println("十六进制码:"+s);
        s=formatCount(s, " ");
        System.out.println("格式化后的格式:"+s);
        s=hextoString(s);
        System.out.println("最后的中文:"+s);
    }
}

分享到:
评论

相关推荐

    java实现十六进制字符unicode与中英文转换示例

    本示例探讨了如何使用Java实现从Unicode十六进制字符串到中英文字符的转换,以及反过来的过程。理解Unicode和UTF之间的关系是至关重要的。 Unicode是一个国际标准,它为世界上几乎所有的字符提供了一个唯一的数字...

    十六进制字符串按位异或运算工具和java位异或运算

    本节将详细介绍十六进制字符串的按位异或运算以及如何在Java中实现这一运算。 十六进制字符串是由0到9和A到F(或a到f)组成的字符序列,每个字符代表4位二进制数。例如,十六进制数"AB"在二进制下表示为10101011。...

    android byte字节数组转换十六进制字符串

    字节数组是Java和Android中用于存储和处理二进制数据的数据结构,而十六进制字符串则是用十六进制数字(0-9和A-F)表示每个字节的值。一个字节由8位组成,可以表示0到255之间的数值,而十六进制字符串则是每四位二...

    十六进制字符串按位异或校验和和校验工具

    十六进制字符串按位异或校验和校验工具是一种在数据通信和计算机科学中广泛使用的错误检测机制。它的基本原理是通过对一组数据中的每个比特进行异或操作,最终得到的结果通常是一个固定长度的校验和,这个校验和可以...

    javascript实现的字符串与十六进制表示字符串相互转换方法

    本文实例讲述了javascript实现的字符串与十六进制表示字符串相互转换方法。分享给大家供大家参考。具体如下: 之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6...

    java中进制转换(二进制,十进制,十六进制)及字节数组与十六进制的转换

    本篇将详细阐述如何在Java中进行二进制、十进制和十六进制之间的转换,以及字节数组与十六进制字符串的相互转换。 一、进制转换 1. **二进制转十进制**:Java中可以使用`Integer.parseInt()`或`Long.parseLong()`...

    java16进制与字符串的转换.pdf

    在 Java 中,我们可以使用 `Bytes2HexString` 函数将 byte 数组转换为 16 进制字符串。该函数接受一个参数 b,即 byte 数组,然后将其转换为 16 进制字符串。 ```java public static String Bytes2HexString(byte[]...

    jpg图片转换成十六进制字符文件

    描述中提到的“该程序主要用于将jpg图片的数据流转换为十六进制字符串”,这意味着有一个特定的程序或脚本,它可以读取jpg图片的原始二进制数据,然后将其转化为由0到9和A到F这些字符组成的十六进制序列。...

    把十六进制的位串转化为byte数组

    在处理十六进制字符串转字节数组时,还需要注意大小端的问题。在某些系统中,数据的存储顺序有大端(高位字节在前)和小端(低位字节在前)之分,这在处理网络传输或者跨平台的数据交换时尤为重要。 总之,将十六...

    十六进制字符串转十六进制

    标题“十六进制字符串转十六进制”指的是将一个连续的十六进制字符序列转换为分隔开的十六进制形式。描述中给出的例子 "FF9A44" 是一个典型的十六进制字符串,而转换目标是将其拆分为 "0xFF 0x9A 0x44" 的形式。这里...

    java String 与各种进制字符之间的转换

    - `String.format("%x", number)`: 使用`String.format`方法可以方便地将十进制数字转换为十六进制字符串,如`String.format("%x", 10)`返回"a"。 - `Integer.toHexString()`和`Integer.parseInt(hexStr, 16)`是...

    java 十进制 十六进制 互转

    Java中的`Integer.toHexString(int i)`方法可以将一个十进制整型转换为十六进制字符串表示形式。该方法返回的是一个表示指定整数的无符号十六进制字符串。 例如: ```java int decimal = 253; String hex = ...

    Java实现的进制转换工具类完整示例

    4. 将字符串转换为十六进制字符串:`public static String encodeHexStr(String str, Charset charset)` 该方法将字符串转换为十六进制字符串。该方法可以将字符串转换为小写或大写的十六进制字符串,可以根据需要...

    十六进制和汉字互转代码

    这里首先通过`Integer.valueOf(code, 16)`将十六进制字符串转换为十进制整数,然后再使用`Integer.parseInt(hexString)`将这个整数转换为字符。由于汉字的Unicode码点是一个整数,因此可以直接用整数来表示一个汉字...

    java二进制,字节数组,字符,十六进制,BCD编码转换

    /* java二进制,字节数组,字符,十六进制,BCD编码转换2007-06-07 00:17/** *//** * 把16进制字符串转换成字节数组 * @param hex * @return */

    十六进制转十进制。java

    在Java中,有内置的方法可以直接将十六进制字符串转换为十进制整数。这些方法包括`Integer.parseInt()`和`Long.parseLong()`,它们都接受一个字符串作为参数,以及一个表示该字符串所代表的基数的第二个参数。例如,...

    JAVA二进制字节数组字符十六进制BCD编码转换.doc

    - 示例中的`hexStringToByte()`方法将十六进制字符串转换为字节数组,而`bytesToHexString()`则将字节数组转换为十六进制字符串。 2. **字节数组** - 字节数组在Java中用`byte[]`表示,它可以存储任意字节值,常...

    Java编程实现对十六进制字符串异或运算代码示例

    "Java 编程实现对十六进制字符串异或运算代码示例" Java 编程实现对十六进制字符串异或运算代码示例是指使用 Java 语言实现对十六进制字符串进行异或运算的代码示例。在这个示例中,主要介绍了异或运算的定义、运算...

    Ycbcr转RGB 以ppm图片打开、图片十六进制字符串互转

    本文主要探讨如何在Java环境中实现YCbCr到RGB的转换,并涉及将图片数据转化为16进制字符串以及将16进制字符串还原为图片的过程。 首先,我们需要理解YCbCr和RGB这两种颜色模型。YCbCr是一种用于数字视频和图像的...

    十进制转十六进制包含大小端设置_大小端_matlab_十进制_十六进制_

    这个函数首先将十进制数转换为十六进制字符串,然后根据`flag`参数决定是否需要调整字节顺序。在小端模式下,使用`flip`函数将字符串反转,模拟从低地址到高地址的读取顺序。注意,MATLAB本身是按照大端模式存储数据...

Global site tag (gtag.js) - Google Analytics