将BYTE[]中的字符的16进制形式作为字符串存入CString对象并返回
2010-11-30 17:38
316 查看
将BYTE[]中的字符的16进制形式作为字符串存入CString对象并返回:
C++ Code:
注:上面的代码只取pMsgID中的前10字节的数据,具体可看情况修改。
C++ Code:
/* 功能:将pMsgID中的字符的ASCII码以16进制表示成数字字符,存入retValue并返回 @pMsgID: 源字符串 @retValue: 保存返回值 */ void GetMsgID(char pMsgID[], CString &retValue) { BYTE *p = (BYTE*)pMsgID; BYTE temp[21]; for(int i = 0; i < 20; i += 2) { temp[i] = (*p >> 4) + '0'; // 取高4位,并转换为数字字符 temp[i+1] = (*p & 0x0F) + '0'; // 取低4位 p++; } temp[20] = '\0'; // 置为字符串结束符 retValue.Format("%s", temp); }
注:上面的代码只取pMsgID中的前10字节的数据,具体可看情况修改。
相关文章推荐
- java读取文件以字节流的形式读取 然后转化为字节流数组,最后经过SHA1加密生成返回16进制字符串存入数据库
- 练习2-5 编写函数any(s1,s2),将字符串s2中的任一字符在字符串s1中第一次出现的位置作为结果返回。如果s1中不包含s2的字符,则返回-1。
- 练习 2-5 编写函数 any(s1, s2),将字符串s2中的任一字符在字符串s1中第一次出现的位置作为结果返回。如果s1中不包含s2中的字符,则返回-1。
- 16进制字符串CString 如何转为 BYTE[] 数组
- 练习 2-5 编写函数 any(s1, s2),将字符串s2中的任一字符在字符串s1中第一次出现的位置作为结果返回。如果s1中不包含s2中的字符,则返回-1。
- 练习 2-5 编写函数 any(s1, s2),将字符串 s2 中的任一字符在字符串 s1 中第一次 出现的位置作为结果返回。如果 s1 中不包含 s2 中的字符,则返回-1
- 接受a,b 两个16进制字符串,返回相加的和,以16进制字符串形式保存在*a中
- 写一个函数,用来把一个字符串用指定的字符作为分隔符分割成若干个子串输出 | 写一个函数,用来返回一个字符串中重复出现的最长字串的长度及其开始地址
- 系统会随机给你一个日期(yyyy-MM-dd)字符串,你需要计算这个时间上一个月的最后一天的具体日期,最后以yyyy年MM月dd日的字符形式返回
- 问题1:java中没有实现这种“byte a = 0xB2 --> String b = “B2””转换的简单实现需要自己实现。 答:自己编写的转换函数,思路将byte的高低4位分开,分别转换为对应的字符然后合成返回的字符串。 java 代码 1.
- 用lastIndexOf方法返回String对象内最后一次出现子字符串的字符位置的示例
- as3加密DES过程中,1、字符串转成ByteArray(byte数组)形式 ,2、ByteArray编码成base64 3、把ByteArray转换为16进制的形式的字符串
- 16进制字符串CString 如何转为 BYTE[]
- Java输入满足条件的字符窜,并将其返回 密码设置成包含(A-Z)或空格的形式(空格不能作为密码的开头)
- CString 16进制字符串转为 BYTE[] 数组
- 练习 2-5 编写函数 any(s1, s2),将字符串 s2 中的任一字符在字符串 s1 中第一次 出现的位置作为结果返回。如果 s1 中不包含 s2 中的字符,则返回-1。
- C#将byte数值转换成16进制字符串
- 确定字符互异 确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代
- 利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。
- Java 字符串,byte[],16进制的字符串互转