精华内容
下载资源
问答
  • 主要介绍了javascript将16进制字符串转换为10进制整数hex,需要的朋友可以参考下
  • php中可以通过bin2hex函数将字符串转换16进制的形式输出,bin2hex()函数返回结果ascii码 <?php $string = "Hello\tworld!\n"; print($string."\n"); print(bin2hex($string)."\n"); ?> 输出结果如下: ...
  • 将字符串转化为16进制

    千次阅读 2019-11-20 16:44:25
    在有些情况下,想得到n... 我想得到的是16进制数1b 50…,而数组中的字符,每一位都可以转化为一个16进制数,(1b转为ASCII是 0x31 和0x61)。写代码让字符串中1b变成16进制的 0x1b #include<stdio.h> #inc...

    在有些情况下,想得到n个16进制数。然而你只能得到一个字符串数组,数组中的数据都是文本形式。
    例如char *s = “1b5050508af890ef50”; 我想得到的是16进制数1b 50…,而数组中的字符,每一位都可以转化为一个16进制数,(1b转为为ASCII是 0x31 和0x61)。写代码让字符串中1b变成16进制的 0x1b

    #include<stdio.h>
    #include<string.h>
    //这个函数会把字符转成,16进制的本身的值,例如 '1'->0x1 'b'-> 0xb
    int sthvalue(char c)
    {
            int value;
            if((c >= '0') && (c <= '9'))
                    value = 48;
            else if ((c >= 'a') && (c <='f'))
                    value = 87;
            else if ((c >= 'A') && (c <='F'))
                    value = 55;
            else {
                    printf("invalid data %c",c);
                    return -1;
            }
            return value;
    }
    /*转化函数,把字符串和一个数组当做参数,这个函数会把str的值,每两个组合成一个16进制的数*/
    int strtohex(char *str, char *data)
    {
            int len =0;
            int sum =0;
            int high=0;
            int low=0;
            int value=0;
            int j=0;
            len = strlen(str);//获取字符串的字符个数
            //char data[256] = {0};
            printf("%d\n", len);
            //在for循环中,从0开始,每两个数组成一个16进制,高4位和低4位,然后放技能数组中去
            for(int i=0; i<len; i++)
            {
    
    //              printf("high-n:0x%02x\n", str[i]);
                    value = sthvalue(str[i]);
                    high = (((str[i]-value)&0xF)<<4);//获取数据,成为高4位
    //              printf("high:0x%02x\n", high);
    //              printf("low-n:0x%02x\n", str[i+1]);
                    value = sthvalue(str[i+1]);
                    low = ((str[i+1]-value)&0xF);//获取数据,成为低4位
    //              printf("low:0x%02x\n", low);
                    sum = high | low; //组合高低四位数,成为一byte数据
    //              printf("sum:0x%02x\n", sum);
                    j = i / 2; //由于两个字符组成一byte数,这里的j值要注意
                    data[j] = sum;//把这byte数据放到数组中
                    i=i+1; //每次循环两个数据,i的值要再+1
            }
            return len;
    }
    
    int main()
    {
            char *s = "1b5050508af890ef50";
            char buf1[256] = {0};
            int len = 0;
            printf("%s\n", s);
            len = strtohex(s, buf1);
            for (int n=0; n < (len/2); n++)
            {
                    printf("0x%2X ", buf1[n]);
            }
    }
    
    展开全文
  • 本VI实现十进制字符串强制转换为16进制字符串,即输入10进制的0CDA可输出16进制的0CDA
  • 主要介绍了C++实现十六进制字符串转换为进制整数的方法,涉及C++字符串与数制转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 任意进制字符串转换为进制,如二进制,八进制,十六进制, 第二数数不写即最常用的转换为整型十进制; 代码如下: parseInt(“11”, 2); // 3 2进制转10进制 parseInt(“77”, 8); // 63 8进制转10进制 ...
  • 本VI实现16进制字符串强制转换为10进制字符串,即输入16进制的03DF本VI可以输出10进制的03DF,如果需要区分大小写,请自行添加强制转换为大写或小写
  • % HEX2BIN(h) 以字符串形式返回 h 的二进制表示。 % % % HEX2BIN(h,n) 产生一个二进制表示,至少% N 位。 % % 例子% hex2bin('f') 返回 '1111' % hex2bin('fa') 返回 '1111 1010' % hex2bin(['f' 'a'],4) 返回...
  • python将字符串转换16进制

    万次阅读 2020-02-13 21:46:10
    by = bytes(base,'UTF-8') #先输入的字符串转化成字节码 hexstring = by.hex() #得到16进制字符串,不带0x #输出如下: #请输入要转换的字符串:大多数 #e5a4a7e5a49ae695b0 因为hex()函数只接受整数,所以可先...
    base = input("请输入要转换的字符串:")
    by = bytes(base,'UTF-8')    #先将输入的字符串转化成字节码
    hexstring = by.hex()    #得到16进制字符串,不带0x
    
    
    #输出如下:
    #请输入要转换的字符串:大多数
    #e5a4a7e5a49ae695b0

    因为hex()函数只接受整数,所以可先将16进制字符串转换成整数:

    a = int(hexstring,16)    #将16进制字符串转换成整数

    再将该整数转换成16进制数,也可在16进制字符串前面添加一个0x:

    hex_name = hex(a)    #输出如下
    
    #请输入要转换的字符串:大声
    #0xe5a4a7e5a3b0

     

    展开全文
  • 主要介绍了C++实现数字转换为十六进制字符串的方法,涉及C++操作数字与字符串转换的相关技巧,需要的朋友可以参考下
  • labview字符串16进制

    2019-01-16 16:50:18
    labview字符串16进制转换,非常方便,直接调用即可。
  • 格式: 80 1A 3D 3F 的十六进制数据,转换为进制数据。 注:数据格式中 “空格” 被自动删除,只留下 801A3D3F ,然后再对其进行转换转换结果其对应的十进制数。
  • 此工具用于将16进制字符串转换成10进制byte数组
  • 今天小编就大家分享一篇java 二进制数据与16进制字符串相互转化方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 很简单的将字符串转会十六进制的函数。
  • 将字符串转换16进制

    千次阅读 2018-08-15 00:20:00
    原文:将字符串转换16进制 1、普通字符串转换16进制字符串。 点击进入推荐链接 class Program { static void Main(string[] args) { string str = "Hello,C#!!!"; //调用。 string result = S...
    原文: 将字符串转换成16进制

    1、将普通字符串转换成16进制的字符串。

    点击进入推荐链接

    class Program
    {
        static void Main(string[] args)
        {
            string str = "Hello,C#!!!";
            //调用。
            string result = StringToHex16String(str);
            Console.WriteLine(string.Format("将普通字符串:{0}转换成16进制字符串是:{1}", str, result));
            Console.ReadKey();
        }    
        /// <summary>
        /// 此方法用于将普通字符串转换成16进制的字符串。
        /// </summary>
        /// <param name="_str">要转换的字符串。</param>
        /// <returns></returns>
        public static string StringToHex16String(string _str)
        {
            //将字符串转换成字节数组。
            byte[] buffer = System.Text.Encoding.UTF8.GetBytes(_str);
            //定义一个string类型的变量,用于存储转换后的值。
            string result = string.Empty;
            for (int i = 0; i < buffer.Length; i++)
            {
                //将每一个字节数组转换成16进制的字符串,以空格相隔开。
                result += Convert.ToString(buffer[i], 16) + " ";
            }
            return result;
        }
    }

    转换结果是:

    2、将16进制的字符串转换成普通字符串。

    class Program
    {
        static void Main(string[] args)
        {
            string hex16String = "48 65 6c 6c 6f 2c 43 23 21 21 21";
            string result = Hex16StringToString(hex16String);
            Console.WriteLine("将16进制字符串:{0}转换成普通字符串是:{1}", hex16String, result);
            Console.ReadKey();
        }
    
        /// <summary>
        /// 此方法用于将16进制的字符串转换成普通字符串。
        /// </summary>
        /// <param name="_hex16String">要转换的16进制的字符串。</param>
        /// <returns></returns>
        private static string Hex16StringToString(string _hex16String)
        {
            string result = string.Empty;
            //以空格分割字符串。
            string[] chars = _hex16String.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            //声明一个字节数组,其长度等于分割的字符串的长度。
            byte[] buffer = new byte[chars.Length];
            for (int i = 0; i < buffer.Length; i++)
            {
                //将chars数组中的元素转换成字节数组。
                buffer[i] = Convert.ToByte(chars[i], 16);
            }
            //将字节数组转换成字符串。
            result = System.Text.Encoding.UTF8.GetString(buffer);
            //返回。
            return result;
        }
    }

     效果图:

    3、将16进制的字符串转换成16进制的字节数组。

    class Program
    {
        static void Main(string[] args)
        {
            string hex16String = "48 65 6c 6c 6f 2c 43 23 21 21 21";
            //引用。
            byte[] bytes = Hex16StringToHex16Byte(hex16String);
        }
    
        /// <summary>
        /// 此方法用于将16进制的字符串转换成16进制的字节数组
        /// </summary>
        /// <param name="_hex16ToString">要转换的16进制的字符串。</param>
        public static byte[] Hex16StringToHex16Byte(string _hex16String)
        {
            //去掉字符串中的空格。
            _hex16String = _hex16String.Replace(" ", "");
            if (_hex16String.Length / 2 == 0)
            {
                _hex16String += " ";
            }
            //声明一个字节数组,其长度等于字符串长度的一半。
            byte[] buffer = new byte[_hex16String.Length / 2];
            for (int i = 0; i < buffer.Length; i++)
            {
                //为字节数组的元素赋值。
                buffer[i] = Convert.ToByte((_hex16String.Substring(i * 2, 2)), 16);
            }
            //返回字节数组。
            return buffer;
        }
    }

    效果图:

     4、将16进制的字节数组转换成16进制的字符串。

    class Program
    {
        static void Main(string[] args)
        {
            string hex16String = "48 65 6c 6c 6f 2c 43 23 21 21 21";
            byte[] bytes = Hex16StringToHex16Byte(hex16String);
            string result = Hex16ByteToHex16String(bytes);
            Console.WriteLine(string.Format("转换成16进制的字符串是:{0}", result));
            Console.ReadKey();
        }
    
        /// <summary>
        /// 此方法用于将16进制的字节数组转换成16进制的字符串。
        /// </summary>
        /// <param name="_hex16Byte">要转换的16进制的字节数组。</param>
        /// <returns></returns>
        public static string Hex16ByteToHex16String(byte[] _hex16Byte)
        {
            string result = string.Empty;
            //如果字节数组不为空。
            if (_hex16Byte != null)
            {
                for (int i = 0; i < _hex16Byte.Length; i++)
                {
                    //将每一个字节数组转换成16进制string类型的字符串,用空格分隔开。
                    result += _hex16Byte[i].ToString("X2") + " ";
                }
            }
            return result;
        }
    }

    效果图:

     

    5、将字符串转换成16进制。

    class Program
    {
        static void Main(string[] args)
        {
            string str = "自由!!!";
            string result = StringTo16Hex(str, Encoding.UTF8, true);
            Console.WriteLine(string.Format("将字符串:{0}转换成16进制后是:{1}", str, result));
            Console.ReadKey();
        }
    
        /// <summary>
        /// 此方法用于将字符串转化成16进制。
        /// <param name="_str">要转换的字符串。</param>
        /// <param name="_encode">编码格式(UTF-8、gb2312)</param>
        /// <param name="_isHaveSpace">是否用空格分隔</param>
        // <returns></returns>
        public static string StringTo16Hex(string _str, Encoding _encode,bool _isHaveSpace)
        {
            string result = string.Empty;
            if (_str.Length / 2 != 0)
            {
                _str += " ";
            }
            //将字符串转换成字节数组。
            byte[] buffer = _encode.GetBytes(_str);
            for (int i = 0; i < buffer.Length; i++)
            {
                result += string.Format("{0:X}", buffer[i]);
                if (_isHaveSpace && (i != buffer.Length - 1))
                {
                    //result += " ";
                    //或者写成以下这种。
                    result += string.Format("{0}", " ");
                }
            }
            return result;
        }
    }

    效果图:

    6、将16进制转换成字符串。

    class Program
    {
        static void Main(string[] args)
        {
            string str = "自由!!!";
            string result = StringTo16Hex(str, Encoding.UTF8, true);
            Console.WriteLine();
            Console.WriteLine(string.Format("将字符串:{0}转换成16进制后是:{1}", str, result));
            Console.WriteLine("---------------------------------");
            string result2 = Hex16ToString(result,Encoding.UTF8);
            Console.WriteLine(string.Format("将16进制:{0} 转换成字符串是:{1}", result, result2));
            Console.ReadKey();
        }
    
        /// <summary>
        /// 此方法用于将16进制转换成字符串。
        /// </summary>
        /// <param name="_str">要转换的16进制。</param>
        /// <param name="_encode">编码的格式。</param>
        /// <returns></returns>
        public static string Hex16ToString(string _str, Encoding _encode)
        {
            if (_str == null)
            {
                return "";
            }
            //去掉空格、逗号、斜杠
            _str = _str.Replace(",", "");
            _str = _str.Replace("\n", "");
            _str = _str.Replace("\\", "");
            _str = _str.Replace(" ", "");
            if (_str.Length % 2 == 0)
            {
                _str += "20"; //空格
            }
            //新建字节数组。
            byte[] buffer = new byte[_str.Length / 2];
            for (int i = 0; i < buffer.Length; i++)
            {
                try
                {
                    //每两个字符是一个 byte。   
                    buffer[i] = byte.Parse(_str.Substring(i * 2, 2),
                    System.Globalization.NumberStyles.HexNumber);
                }
                catch (Exception ex)
                {
                    //错误异常处理。
                    throw ex; 
                }               
            }
            //返回
            return _encode.GetString(buffer, 0, buffer.Length);
        }
    }

    效果图:

    参考博客链接:https://blog.csdn.net/zdhlwt2008/article/details/52749658

    点击进入推荐链接

    End! 

    展开全文
  • 满足混合字符串(汉字和数字等字符)批量(非一个字符一个字符),转换为16进制;同样支持16进制转换为字符串,C++代码; 在VS2010上编码测试可运行。可用于串口通信数据编码。
  • 一个十六进制字符串解码成一个字节字符串或者一个字节字符串编码成一个十六进制字符串 1)只是简单的解码或编码一个十六进制的原始字符串,可以使用 binascii模块 >>> s = b'hello' >>> # ...

    想将一个十六进制字符串解码成一个字节字符串或者将一个字节字符串编码成一个十六进制字符串

    1)只是简单的解码或编码一个十六进制的原始字符串,可以使用 binascii模块

    >>> s = b'hello'
    >>> # Encode as hex
    >>> import binascii
    >>> h = binascii.b2a_hex(s)
    >>> h
    b'68656c6c6f'
    >>> binascii.a2b_hex(h)
    b'hello'
    >>>
    

    2)类似的功能同样可以在base64 模块中找到

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    >>> import base64
    >>> h = base64.b16encode(s)
    >>> h
    b'68656C6C6F'
    >>> base64.b16decode(h)
    b'hello'
    >>>
    

    3)大部分情况下,通过使用上述的函数来转换十六进制是很简单的。上面两种技术的主要不同在于大小写的处理。函数base64.b16decode() 和base64.b16encode() 只能操作大写形式的十六进制字母,而binascii 模块中的函数大小写都能处理

    4)还有一点需要注意的是编码函数所产生的输出总是一个字节字符串。如果想强制以Unicode 形式输出,你需要增加一个额外的界面步骤

    >>> h = base64.b16encode(s)
    >>> print(h)
    b'68656C6C6F'
    >>> print(h.decode('ascii'))
    68656C6C6F
    
    展开全文
  • 16进制字符串转换成16进制数组(初学者,留作记录,有问题欢迎评论指出) ... 转换16进制后存储 //String_to_Hex(s, dat1, strlen(s)); 转换函数使用 void String_to_Hex(char* dats, uint16_t* datx,
  • 字符串转换器可以进行10进制转2进制转换,10进制转8进制/16进制转换16进制转2进制或8进制10进制;字符串转10进制16进制字符串转Unicode或Delphi DFM字符串转换前选择一下要使用的转换模式转换即可。
  • 项目中上位机给下位机发送的指令是...//HexChar()将16进制字符转换为相应大小的16进制数 char HexChar(char c) { if((c>='0')&&(c<='9')) return c-'0'; else if((c>='A')&&(c<='F'))
  • 字符串转换为16进制

    千次阅读 2020-01-07 13:15:54
    一个字符串转换为16进制数,例如“12”转换为0x12, "12345678"转换为0x12345678。 实现: #include <stdio.h> #include <ctype.h> int char2bcd(char str, unsigned char *value) { if(!str || !...
  • 主要介绍了Python实现将16进制字符串转化为ascii字符的方法,结合实例形式分析了Python 16进制字符串转换为ascii字符的实现方法与相关注意事项,需要的朋友可以参考下
  • QT 收到下位机16进制转换字符串显示,绝对可靠 简单易懂。
  • 2,上述代码是将字符串转换为16进制,并16进制数用string保存起来,如果要将字符串里的16进制数字直接变为long long形,则可直接使用c语言中的strtoll函数, 代码如下所示: long long string_to_bit(const ...
  • 这两天做一个小工具,本开开始用的是字节修改,最后感觉用16进制更方便,... /// 作用:将字符串内容转化为16进制数据编码,其逆过程是Decode /// 参数说明: /// strEncode 需要转化的原始字符串 /// 转换的过程.
  • Qt 将字符串转成16进制显示

    千次阅读 2018-06-06 10:32:00
    最近项目用到了需要将字符串转换16进制显示。这玩意折腾了一上午。 首先,数据块内容 struct UserData { char Head[3] = {'X','J','J'}; char Flag = '1'-'0x30'; char X_Position = '1'-'0x30'; ...
  • 这是一个进制转换的vc源码,字符串16进制表示的数转换为10进制的整数

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 280,177
精华内容 112,070
关键字:

将字符串转化为16进制