把含有两个字符的字符串转换为16进制保存的一字节数据
2012-09-19 08:53
393 查看
// 把含有两个字符的字符串转换为16进制保存的一字节数据
void CPrivate::GetHexArray_OneByte( CString strTemp, BYTE &hex )
{
strTemp.MakeLower();
BYTE highByte = 0;
BYTE lowByte = 0;
// 0x61-0x0a=0x57
if ( strTemp[0] >= 'a' && strTemp[0] <= 'z' )
{
highByte = strTemp[0]-0x57;
}
// 0x61-0x0a=0x57
else if( strTemp[0] >= '0' && strTemp[0] <= '9' )
{
highByte = strTemp[0]-0x30;
}
if ( strTemp[1] >= 'a' && strTemp[1] <= 'z' )
{
lowByte = strTemp[1]-0x57;
}
// 0x61-0x0a=0x57
else if( strTemp[1] >= '0' && strTemp[1] <= '9' )
{
lowByte = strTemp[1]-0x30;
}
highByte = highByte << 4;
highByte |= lowByte;
hex = highByte;
}
void CPrivate::GetHexArray_OneByte( CString strTemp, BYTE &hex )
{
strTemp.MakeLower();
BYTE highByte = 0;
BYTE lowByte = 0;
// 0x61-0x0a=0x57
if ( strTemp[0] >= 'a' && strTemp[0] <= 'z' )
{
highByte = strTemp[0]-0x57;
}
// 0x61-0x0a=0x57
else if( strTemp[0] >= '0' && strTemp[0] <= '9' )
{
highByte = strTemp[0]-0x30;
}
if ( strTemp[1] >= 'a' && strTemp[1] <= 'z' )
{
lowByte = strTemp[1]-0x57;
}
// 0x61-0x0a=0x57
else if( strTemp[1] >= '0' && strTemp[1] <= '9' )
{
lowByte = strTemp[1]-0x30;
}
highByte = highByte << 4;
highByte |= lowByte;
hex = highByte;
}
相关文章推荐
- 把含一字节变量的16进制格式数据转换为字符串显示
- 字节类型的数据转换为16进制的字符串
- 二进制字符串数据转换为16进制数据
- 字节数组与字符串(字符数组)的转换操作
- C# 16进制与字符串、字节数组之间的转换(转载)
- QT中将字符串转换为每两个字符添加一个空格的格式
- 【java基础】在Java中实现基本数据类型与字符、字符串之间的转换
- C# 16进制与字符串、字节数组之间的转换(转)
- C# 16进制与字符串、字节数组之间的转换
- Java基础小知识——基本数据类型和字符串以及字节数组的转换
- java如何将字符转换成‘16进制格式’的字符串编码
- C# 16进制与字符串、字节数组之间的转换
- android开发中遇到的进制转换,16进制数据流转和字符串的相互转换
- 字符串包装第1部分:将字符转换为字节
- C# 16进制与字符串、字节数组之间的转换
- 汇编语言 2位十六进制数(字符),转换成数值保存到字节变量num(需要用逻辑左移指令或乘法指令)
- C# 16进制与字符串、字节数组之间的转换(转)
- C# 16进制与字符串、字节数组之间的转换
- C# 16进制与字符串、字节数组之间的转换