16进制和字符串的相互转换

14 篇文章 0 订阅

```c
char ptmp[128];
void strtohex(char *in, u8* out)
{
	int lengthp = 0;
	int lengthtmp = 0;
	int i = 0;
	memset(ptmp, 0, sizeof(ptmp));
	memset(out, 0, 57);
	lengthp = strlen(in);
	for (i = 0; i < lengthp; i++)
	{
		if (in[i] <= '9')	ptmp[i] = in[i] - '0';
		else if (in[i] > 'Z') ptmp[i] = in[i] - 'a' + 10;
		else ptmp[i] = in[i] - 'A' + 10;
	}
	for (i = 0; i < lengthp / 2; i++)
	{
		out[i] = (ptmp[i * 2] * 16) + ptmp[i * 2 + 1];		
	}
}
void hextostr(char*in, int len, u8* out) 
{
	char getdatatmp[3];
	int i = 0;
	memset(out, '\0', 57);
	for (i = 0; i < len; i++)
	{
		memset(getdatatmp, 0, sizeof(getdatatmp));
		sprintf(getdatatmp, "%02x", (unsigned char)in[i]);
		memcpy(&out[i * 2], getdatatmp, 2);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些简单的代码示例来实现该功能。 首先,您需要一个文本框用于输入十六进制字符串,以及一个按钮来触发转换操作。代码示例如下所示: ```html <template> <div> <label>输入十六进制字符串:</label> <input type="text" v-model="hexString"/> <button @click="hexToString">转换字符串</button> <button @click="stringToHex">转换为十六进制</button> <div v-if="result"> 转换结果:<br> {{ result }} </div> </div> </template> ``` 接下来是相关的 Vue 组件代码。`hexString` 变量用于绑定输入框中的值,`result` 变量用于存储转换结果。 ```javascript <script> export default { data() { return { hexString: '', result: '' } }, methods: { hexToString() { // 把十六进制字符串转换字符串 const str = this.hex2str(this.hexString); this.result = str; }, stringToHex() { // 把字符串转换成十六进制字符串 const hex = this.str2hex(this.hexString); this.result = hex; }, hex2str(hex) { let result = ''; for (let i = 0; i < hex.length; i += 2) { const charCode = parseInt(hex.substr(i, 2), 16); result += String.fromCharCode(charCode); } return result; }, str2hex(str) { let result = ''; for (let i = 0; i < str.length; i++) { const charCode = str.charCodeAt(i); const hexCode = charCode.toString(16); result += hexCode; } return result; } } } </script> ``` `hex2str` 方法将输入的十六进制字符串转换字符串,`str2hex` 方法将输入的字符串转换成十六进制字符串。这两个方法都将转换结果存储在 `result` 变量中。 代码示例只是简单实现了该功能,您可以根据自己的需要对其进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值