精华内容
下载资源
问答
  • 1.二进制数组转十六进制字符串,下面两种方法都可以 /** * 将字节数组转换成十六进制字符串进行输出 * @param bArr * @return */ public static final String bytesToHexString(byte[] bArr) { ...

    不说话,直接上代码。
    1.二进制数组转十六进制字符串,下面两种方法都可以

    /**
    	 * 将字节数组转换成十六进制字符串进行输出
    	 * @param bArr
    	 * @return
    	 */
    	public static final String bytesToHexString(byte[] bArr) {
    	    StringBuffer sb = new StringBuffer(bArr.length);
    	    String sTmp;
    
    	    for (int i = 0; i < bArr.length; i++) {
    	        sTmp = Integer.toHexString(0xFF & bArr[i]);
    	        if (sTmp.length() < 2)
    	            sb.append(0);
    	        sb.append(sTmp.toUpperCase());
    	    }
    
    	    return sb.toString();
    	}
    	
    	/**
    	 * 将字节数组转换成十六进制字符串进行输出
    	 * @param bytes
    	 * @return
    	 */
       public static final String bytesToHexFun3(byte[] bytes) {
            StringBuilder buf = new StringBuilder(bytes.length * 2);
            for(byte b : bytes) { // 使用String的format方法进行转换
                buf.append(String.format("%02x", new Integer(b & 0xff)));
            }
            return buf.toString();
        }
    

    2.十六进制字符串转成2进制字符串

    public static final  String  hexString2binaryString(String hexString) {
    		if (hexString == null)
    		return null;
    		String bString = "", tmp;
    		for (int i = 0; i < hexString.length(); i++) {
    		tmp = "0000" + Integer.toBinaryString(Integer.parseInt(hexString.substring(i, i + 1), 16));
    		bString += tmp.substring(tmp.length() - 4);
    		}
    		return bString;
    		}
    

    测试代码:

    	public static void main(String [] args){
    		byte [] bs ={48,50};
    		System.out.println(new String(bs));
    		String temp=bytesToHexString(bs);
    		System.out.println(temp);
    		System.out.println(emergencyVehicles.bytesToHexFun3(bs));
    	    String ss=hexString2binaryString("33");
    	    System.out.println("ss:"+ss);
    	    String pTypeVal="22";
    	    String latType=hexString2binaryString(pTypeVal.substring(0,1));
    	    String lotType=hexString2binaryString(pTypeVal.substring(1));
    		System.out.println(latType);
    		System.out.println(lotType);
    	}
    

    结果:

    02
    3032
    3032
    ss:00110011
    2
    2
    0010
    0010
    

    ----分割线

    十六进制转成2进制数组

    	private static byte[] hexStrToByteArr(String strIn){
    	    byte[] arrB = strIn.getBytes();
    	    int iLen = arrB.length;
    	    // 两个字符表示一个字节,所以字节数组长度是字符串长度除以2
    	    byte[] arrOut = new byte[iLen / 2];
    	    for (int i = 0; i < iLen; i = i + 2) {
    	        String strTmp = new String(arrB, i, 2);
    	        arrOut[i / 2] = (byte) Integer.parseInt(strTmp, 16);
    	    }
    	    return arrOut;
    	}
    
    展开全文
  • 字符串转换成十六进制字符串 /** * 字符串转换成十六进制字符串 * @param String str 待转换的ASCII字符串 * @return String 每个Byte之间空格分隔,如: [61 6C 6B] */ public static String str2HexStr...

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

    /**   
     * 字符串转换成十六进制字符串  
     * @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();      
    }    
    

    十六进制转换字符串

     /** 
     * 十六进制转换字符串  
     * @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);      
     }  
    

    bytes转换成十六进制字符串

    /**  
     * 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值

    /**  
     * bytes字符串转换为Byte值  
     * @param String src Byte字符串,每个Byte之间没有分隔符  
     * @return byte[]  
     */    
    public static byte[] hexStr2Bytes(String src){    
    	String digital = "0123456789ABCDEF";
        char[] hex2char = src.toCharArray();
        byte[] bytes = new byte[src.length() / 2];
        int temp;
        for (int i = 0; i < bytes.length; i++) {
            temp = digital.indexOf(hex2char[2 * i]) * 16;
            temp += digital.indexOf(hex2char[2 * i + 1]);
            bytes[i] = (byte) (temp & 0xff);
        }
        return bytes;
    }    
    

    String的字符串转换成unicode的String

    /**  
     * 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();    
    }    
    

    unicode的String转换成String的字符串

    /**  
     * 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();    
    }   
    

    }

    展开全文
  • LabVIEW学习:十六进制和十六进制字符串相互转化

    万次阅读 多人点赞 2019-03-22 21:53:17
    在工作中经常会遇到发送十六进制...补充说明:十六进制更确切的说是十六进制整型,十六进制字符串就是通常所说的字符串。 在介绍转换前,首先说一下byte,在文本形式的编程语言中,byte占一个字节(八位二进制数据...

     在工作中经常会遇到发送十六进制,接收十六进制的问题。对于字符串大家肯定不会陌生,通常情况下我习惯了发送字符串数据,其实发送十六进制在实际使用中也是经常遇到的,在这里我将用LabVIEW实现十六进制和十六进字符串之间的转换。补充说明:十六进制更确切的说是十六进制整型,十六进制字符串就是通常所说的字符串。

    在介绍转换前,首先说一下byte,在文本形式的编程语言中,byte占一个字节(八位二进制数据),而一个十六进制由4个二进制。也就是两个十六进制可以组成一个byte。这方面的资料网上很多,在这里不再详细说。

    首先介绍对于功能实现两个核心函数:

    (1)数值至十六进制字符串转换 (函数),它使数字转换为十六进制数组成的字符串,至少为宽度个字符,还可依据需要适当加宽。A–F数位在输出字符串中始终大写显示。

       

               (2)十六进制数字符串至数值转换 (函数),它是从偏移量位置开始,使字符串中的下列字符:0-9、A-F、a-f解析为十六进制整型数据,通过数字返回。

    具体实现:

    (1)十六进制转十六进制字符串,具体实现如下图:

                

                 (2)十六进制字符串转十六进制,如下图:

               源码下载    提取码:jc53       (备注:采用是2015版32位NI LabVIEW开发)

    展开全文
  • 最近在做一些**算法的处理,由于借鉴了许多已存在模块,处理时使用了许多字符串和进制...十六进制字符串转成十进制数 二进制字符串转化为十六进制字符串 二进制字符串转化为十进制数 十六进制字符串转成二进制串 ASC...

     最近在做一些**算法的处理,由于借鉴了许多已存在模块,处理时使用了许多字符串和进制转换函数,过程中从下面几个函数中得到许多帮助。

    论坛参考链接: https://bbs.csdn.net/topics/390991981

    十进制整数转二进制串
    十进制整数转十六进制串
    十六进制字符串转成十进制数
    二进制字符串转化为十六进制字符串
    二进制字符串转化为十进制数
    十六进制字符串转成二进制串
    ASC\GBK字符串转十六进制串
    十六进制字符串转成汉字(GBK)及字符(ASC)

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <locale.h>
    
    int main() {
        int i,v;
        char bs[33];
        char b[33];
        char hs[9];
        char h[9];
        char s[4];
        char *e;
    
    // 十进制整数转二进制串;
        i=1024;
        ltoa(i,b,2);
        sprintf(bs,"%032s",b);
        printf("i=%d,bs=%s\n",i,bs);
    // 十进制整数转十六进制串;
        i=1024;
        ltoa(i,h,16);
        sprintf(hs,"%08s",h);
        printf("i=%d,hs=%s\n",i,hs);
    // 十六进制字符串转成十进制数
        strcpy(hs,"00000400");
        sscanf(hs,"%x",&i);
        printf("hs=%s,i=%d\n",hs,i);
    // 二进制字符串转化为十六进制字符串;
        strcpy(bs,"00000000000000000000010000000000");
        i=strtol(bs,&e,2);
        ltoa(i,h,16);
        sprintf(hs,"%08s",h);
        printf("bs=%s,hs=%s\n",bs,hs);
    // 二进制字符串转化为十进制数;
        strcpy(bs,"00000000000000000000010000000000");
        i=strtol(bs,&e,2);
        printf("bs=%s,i=%d\n",bs,i);
    // 十六进制字符串转成二进制串
        strcpy(hs,"00000400");
        sscanf(hs,"%x",&i);
        ltoa(i,b,2);
        sprintf(bs,"%032s",b);
        printf("hs=%s,bs=%s\n",hs,bs);
    // ASC\GBK字符串转十六进制串
        strcpy(s,"a汉");
        i=0;
        while (1) {
            if (0==s[i]) break;
            sprintf(hs+i*2,"%02X",(unsigned char)s[i]);
            i++;
        }
        setlocale(LC_ALL,"chs");
        printf("s=%s,hs=%s\n",s,hs);
    // 十六进制字符串转成汉字(GBK)及字符(ASC)
        strcpy(hs,"61BABA");
        i=0;
        while (1) {
            if (1!=sscanf(hs+i*2,"%2x",&v)) break;
            s[i]=(char)v;
            i++;
        }
        s[i]=0;
        printf("hs=%s,s=%s\n",hs,s);
    
        return 0;
    
    }
    //结果显示:
    //i=1024,bs=00000000000000000000010000000000
    //i=1024,hs=00000400
    //hs=00000400,i=1024
    //bs=00000000000000000000010000000000,hs=00000400
    //bs=00000000000000000000010000000000,i=1024
    //hs=00000400,bs=00000000000000000000010000000000
    //s=a汉,hs=61BABA
    //hs=61BABA,s=a汉

     

    展开全文
  • 所谓十进制转换十六进制,其实就是要...比如十进制字符串 "12345678" 转换之后为 "BC614E"; 顺带普及下十六进制值: 十六进制,顾名思义,就是每个字符位的取值范围为 0~15; 其中: 十进制值 十六进制值 0 0 1 1 ...
  • 有关将二进制(ASCII)字符串转换为十六进制字符串,请参考 bin2hex() 函数。 函数语法: hex2bin(string$data):string 函数参数说明: 参数 描述 data 必需。要转换的十六进制值。 hex2bin() 函数...
  • 项目中有个需求,要把个二进制字符串转换成十六进制字符串,例如: “11111110” 转 "FE" 比较简单的方法如下:https://davidzych.com/converting-a-binary-string-to-an-int-in-c/ 第一步:先转整数 第二步:...
  • 【法一】 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ //接受一个十六进制字符串,从下标2的...
  • 十进制字符串转换成十六进制字符串可以用speintf函数直接来实现 将十进制整数转换成十进制字符串也可以用spritf函数。 sprintf(HexCardNum,"%x",Cardnum); strncpy(HexShortCardNum,HexCardNum+2,8); Cardnum ...
  • * 字符串转十六进制字符串 * * @author 静心事成 * @param str 源字符串 * @return 十六进制字符串 * */ public static String encodeHex(String str) { // 定义变量保存结果 final StringBuffer...
  • 7-4十六进制字符串转换成十进制非负整数(13分) 输入一个以#结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,输出该字符串并将其转换为十进制数后输出。 输入格式: ...
  • python 字符串转为十六进制字符串

    千次阅读 2020-07-07 11:27:06
    python 字符串转为十六进制字符串0x00 问题0x01 解决0x02 代码 0x00 问题 我们的字符串为:hexstring = "c0a80a010f27d21e3ee5d0ced4887056425b057fffdc9286194a0000" 我们想把它转为为十六进制的形式,即每两个字母...
  • 问题描述将一个十进制字符串转化为十六进制字符串。问题解决这个问题如果只是十进制转化为十六进制,其实是比较容易的,只要了解短除法就可以解决了,但题目里数是字符串,这就将题目的难度增高了。因为如果只是int...
  • python十六进制字符串To assign a hexadecimal value in the string so that it can be printed as a string, we use \x that is known as Escape sequence”, it represents that given value is the hexadecimal ...
  • 十六进制字符串转换为十进制

    万次阅读 2018-08-15 10:05:22
    十进制字符串转换为十进制数 char *str = "123"; int n = atoi(str); printf("%d\n"...十六进制字符串转换为十进制数 ... //根据十六进制字符串的长度,这里注意数组不要越界...
  • socket 发送十六进制字符串项目用到 socket tcp/ip 发送/接受 十六进制字符串,因为C# socket 发送接受的都是byte[] (字节数组),现在记录tyte[] 与各数据类型之间的转换注:C#的字节数组 byte[] 存放的时间是0-...
  • * 十六进制字符串转字符串 * * @author 静心事成 * @param str 原16进制字符串 * @return 字符串 * */ public static String decodeHex(String hexStr) { // 定义字符数组,用于保存字符串字符,...
  • QT 十六进制字符串转化为十六进制编码 /************************************************* Function: hexStringtoByteArray() Description: 十六进制字串转化为十六进制编码 Calls: formatString() ...
  • 十六进制字符串方法获取颜色

    千次阅读 2016-09-17 14:52:29
    给定6位十六进制字符串、获取十六进制颜色字符串对应的颜色
  • scala字符串转long 十六进制字符串 (Hex String) Hex String also is known as the hexadecimal string is a string of hexadecimal digits i.e. base 16 numbers. 十六进制字符串也被称为十六进制字符串,是十六...
  • 在udp传输中,我们app段需要得到的是字符串,而一般发指令的设备是十六进制字符串,两者是需要通过自定义方法进行转换的,这样设备和app之间才可以通讯。 1.字符串转Byte数组 “字符串”.getBytes(“编码格式”);...
  • 现在要发送的modbus请求帧是“01 05 00 02 FF 00 2D FA”,这是一段十六进制字符串。 我通过这样一个函数hexToString = function (hex) { var hex = hex.toString(); var str = ''; for (var i = 0; i ; i += ...
  • 最近遇到一个需求:一个按钮和一个输入框,在输入框中输入字符串,通过点击按钮,将输入框中的文字在十六进制字符串和原意字符串之间切换。 这时需要字节数组:因为不论是十六进制字符串还是原意字符串,他们的字节...
  • byte[]数组与十六进制字符串与字符串的互相转换  字符串转换成十六进制字符串方法1:  /**  * 字符串转换成十六进制字符串  */   public static String str2HexStr(String str) {   char[] ...
  • lua十六进制转换为二进制字符串函数
  • 想将一个十六进制字符串解码成一个字节字符串或者将一个字节字符串编码成一个十六进制字符串 1)只是简单的解码或编码一个十六进制的原始字符串,可以使用 binascii模块 >>> s = b'hello' >>> # ...
  • 本工具类主要用来将二进制文件读取并转换成十六进制字符串,并提供了将十六进制字符串还原为二进制文件的方法。 import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; ...
  • c# 十六进制数据转十六进制字符串

    千次阅读 2018-10-24 15:24:18
    public class Utility ... /// 字节数组转16进制字符串 /// &lt;/summary&gt; /// &lt;param name="bytes"&gt;字节数组&lt;/param&gt; /// &lt;returns&gt;返回...
  • python3 字符串、十六进制字符串、数字、字节之间的转换字节转16进制的字符串字节转数字16进制字符串转数字字符串转字节字节转字符串数字转字节 字节转16进制的字符串 ‘S’对应的16进制数是 0X53 字节转数字 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 217,198
精华内容 86,879
关键字:

十六进制字符串是什么