c语言字符数组表示16进制,C语言字符数组与16进制互相转换

本文介绍了在C语言中如何将字符数组转换为16进制字符串,以及将16进制字符串还原为字符数组,用于机顶盒CA WIFI喂卡功能的实现。在该功能中,数据通过Socket通信在Android层进行交互,底层接口负责读写卡操作。文章详细展示了读取母卡数据并转化为16进制字符串,以及将16进制数据转换回字符数组以写入子卡的过程。
摘要由CSDN通过智能技术生成

##需求

在机顶盒上做一个CA WIFI喂卡的功能,

##设计

流程比较简单:

子卡(的机器)发送申请

母卡(的机器)接受申请,并且审核,如果同意的话则从母卡中读取数据,发送给子卡机器

子卡(的机器)确认母卡消息,如果母卡同意,则将数据写入子卡,如果不同意则在盒子上显示

子卡(的机器)最后喂卡是否成功,需要反馈给母卡,母卡做出相应的界面显示

##实现

整个流程建立Socket通信完成,这里Socket的通信是由上层完成,也就是Android层盒子两端相互交互,读卡和写卡则从底层接口中获取,其中读取出来的数据非正常的字符串,排除非法字符的问题,这里转换成16进制的字符串以及附带长度传输。

母卡读卡数据的接口如下,从母卡中读取数据,并且转换为16进制

void read_mother_feeddata()

{

int datalength = 0;

int ret = 0;

int i,j;

char feedData[128] = {0};

char feeddataHex[256] = {0};

ret = ReadFeedDataFromMother(feedData,&datalength);

if(ret == 1) // read feed data success

{

for(i = 0,j = 0 ; i < datalength;i++,j 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值