ASCII码转16进制

ASCII码转16进制

void Ascll2Hex(U8 *s1, U8 *s2, U16 len)
{
	U8 Hex[] = {"0123456789ABCDEF"};
	U8 DataL,DataH;
	U16 i;
	for(i = 0; i < len; i++)
	{
		DataL = s2[i] &0x0F;
		DataH = (s2[i] >> 4)&0x0F;
		s1[2*i] = Hex[DataH];
		s1[2*i + 1] = Hex[DataL];
	}
}

v v v v v v

本文为作者原创,请勿转载,转载请联系作者。
点击下方卡片,关注我的公众号,有最新的文章和项目动态。

v v v v v v

### ASCII 表与十六进制之间的ASCII(American Standard Code for Information Interchange)是一种字符编标准,用于表示文本中的字符。每个可打印和不可打印的字符都有对应的数值,在计算机内部通常以8位二进制形式存储。为了便于理解和处理,这些数值也可以用十进制十六进制来表达。 #### 十六进制ASCII换方法 当有一个由两个字符组成的十六进制字符串时,可以将其视为一个字节的数据并换为相应的ASCII字符。具体操作可以通过`int()`函数先将十六进制字符串解析为整型数据,再通过`chr()`得到该整数所代表的ASCII字符[^3]。 对于多个连续的十六进制值构成的序列,则需逐个进行上述过程: ```python hex_string = "48656C6C6F" ascii_result = ''.join([chr(int(hex_string[i:i+2], 16)) for i in range(0, len(hex_string), 2)]) print(f"The converted string is {ascii_result}") ``` 这段代会输出:"The converted string is Hello" 相反地,如果要从ASCII字符获得其对应的十六进制表示方式,那么应该采用如下策略:利用内置的`ord()`获取给定字符的Unicode点(即ASCII),之后调用`format()`或者简单的除法运算形成两位长度固定的十六进制字符串[^4]。 ```python text = "Hello" hex_representation = "".join(["{:02X}".format(ord(c)) for c in text]) print(f"The hexadecimal representation of '{text}' is {hex_representation}.") ``` 此段程序将会展示:“The hexadecimal representation of 'Hello' is 48656C6C6F.”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董董灿是个攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值