C++实现十六进制字符串转换成int整形值的示例
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字。
开发中经常需要把16进制字符串转换成整形,写了个个代码供大家参考下:
#include <stdio.h> #include <string.h> //字符转换成整形 int hex2int(char c) { if ((c >= 'A') && (c <= 'Z')) { return c - 'A' + 10; } else if ((c >= 'a') && (c <= 'z')) { return c - 'a' + 10; } else if ((c >= '0') && (c <= '9')) { return c - '0'; } } int main() { //十六进制字符串转换成整形 const char* hexStr = "EFA0"; int data[32] = {0}; int count = 0; for (int i=0; i<strlen(hexStr); i+=2) { int high = hex2int(hexStr[i]); //高四位 int low = hex2int(hexStr[i+1]); //低四位 data[count++] = (high<<4) + low; } //打印输出 for (int i=0; i<strlen(hexStr)/2; i++) { printf("%d ", data[i]); } return 1; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
C++中输出十六进制形式的字符串
前言 在进行 i18n 相关的开发时,经常遇到字符编码转换的错误.这时如果能把相关字符串用十六进制的形式打印出来,例如,"abc" 输出成 "\\x61\\x62\\x63" 这对于 i18n 的除错来说是很有帮助的.Python 里面,只需要使用 repr() 函数就行了.可在 C++ 中如何做到这点呢? 下面是用 ostream 的格式化功能的一个简单的实现: std::string get_raw_string(std::string const& s
-
Json字符串与Object、List、Map的互转工具类
package com.cq2022.zago.base.util; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; import java.util.List; import java.util.Map; import org.codehaus.jackson.JsonFactory; import org.codehau
-
javascript实现的字符串与十六进制表示字符串相互转换方法
本文实例讲述了javascript实现的字符串与十六进制表示字符串相互转换方法.分享给大家供大家参考.具体如下: 之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6c6f); 得到的是hello <!DOCTYPE html> <html> <head> <title>Hex-Char Bi-Converter</title> </head> <body
-
C++实现十六进制字符串转换为十进制整数的方法
本文实例讲述了C++实现十六进制字符串转换为十进制整数的方法.分享给大家供大家参考.具体实现方法如下: /* * 将十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值 */ #include <stdio.h> #include <math.h> /* 将十六进制中的字符装换为对应的整数 */ int hexchtoi(char hexch ) { char phexch[] = "ABCDEF"; char qhexch[] = &qu
-
js replace替换字符串同时替换多个方法
在实际开发中,经常会遇到替换字符串的情况,但是大多数情况都是用replace替换一种字符串,本文介绍了如何使用replace替换多种指定的字符串,同时支持可拓展增加字符串关键字. let content = `<div id="article_content273475" class="article-content-wrap"> <p><strong>宅是一种信仰.</strong><br></p&
-
C语言根据协议分割获取字符串单元的实现代码
协议做如下规定: 规定数据协议: 序列号 长度 状态字 数据长度 数据1 数据2 数据3 以空格作为数据单元. ep: 00001 00007 1 3 34567 26358 32698 (1) (2) (3)(4) (5) (6) (7) 如ep所示: (1)00001就是数字1,即代表序列号为1 (2)00007就是数字7,即代表长度为7 (3)1代表状态字 (4)3代表数字长度 (5)34567代表数据1 (6)26358代表数据2 (7)32698代表数据3 这
-
Python 十六进制整数与ASCii编码字符串相互转换方法
在使用Pyserial与STM32进行通讯时,遇到了需要将十六进制整数以Ascii码编码的字符串进行发送并且将接收到的Ascii码编码的字符串转换成十六进制整型的问题.查阅网上的资料后,均没有符合要求的,遂结合各家之长,用了以下方法. 环境 Python2.7 + Binascii模块 十六进制整数转ASCii编码字符串 # -*- coding: utf-8 -*- import binascii #16进制整数转ASCii编码字符串 a = 0x665554 b = hex(a) #转换成相
-
C语言字符串另类用法的实现
讲这个例子前,咱们先来看一个简单的程序: 字符串数组实现数字转字母: #include <stdio.h> #include <string.h> int main(void) { int num = 15 ; //26个字母 const char str[] = "abcdefghijklmnopqlstuvwxyz" ; //这个做法是将num这个十进制数通过取模转换为字母并输出,从程序看,即可知道是输出p char a = str[num%26] ; pr
-
详解C++中十六进制字符串转数字(数值)
详解C++中十六进制字符串转数字(数值) 主要有两个方法,其实都是对现有函数的使用: 方法1: sscanf() 函数名: sscanf 功 能: 从字符串格式化输入 用 法: int sscanf(char *string, char *format[,argument,...]); 以上的 format 为 %x 就是将字符串格式化为 16 进制数 例子: #include <stdio.h> void main() { char* p = "0x1a"; i
-
C++实现数字转换为十六进制字符串的方法
本文实例讲述了C++实现数字转换为十六进制字符串的方法.分享给大家供大家参考.具体如下: function toHex(number, min) { var hexes = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F']; var hex = ''; var min = min || 2; var nibble; do { nibble = number & 0x0f; number
随机推荐
- 使用postMesssage()实现iframe跨域页面间的信息传递
- JSP的出错处理
- 浅谈PowerShell 捕获错误
- iOS的UI开发中Button的基本编写方法讲解
- 一些Oracle数据库中的查询优化建议综合
- 常用python数据类型转换函数总结
- 从零学python系列之从文件读取和保存数据
- javascript设置和获取cookie的方法实例详解
- Android 软引用和弱引用详解及实例代码
- JavaScript实现图片无缝滚动效果
- dedecms统计栏目文章数量实现代码修订版
- C语言金币阵列问题解决方法
- java多线程编程之从线程返回数据的两种方法
- Java截取特定两个标记之间的字符串实例
- 基于C# MBG 扩展方法类库的使用详解
- BGP邻居协商过程
- javaWeb实现学生信息管理系统
- Vue中的无限加载vue-infinite-loading的方法
- Java常用工具类—集合排序
- Java继承的实现与继承限制分析