QString字符转换
来源:互联网 发布:数据挖掘 毕业论文 编辑:程序博客网 时间:2024/05/11 09:55
QString字符转换
BYTE数组转QString
BYTEbyteTemp[16];
memset(byteTemp,0,16);
//将BYTE数组转换为QString类型
QString NFCTest::BYTEToQString(constBYTE *byteBuffer,const int nSize)
{
QString qstrData;
char pBuff[3];
for(int i = 0;i < nSize;i++)
{
sprintf(pBuff,"%.2x ",byteBuffer[i]);
qstrData += pBuff;
}
return qstrData;
}
QString转BYTE数组
//将QString类型拆分为BYTE类型
void NFCTest::QStringToBYTE(constQString strData,BYTE** byteData,int& byteLen)
{
QString qstrNoNull = strData.trimmed();
QStringList qstrData = qstrNoNull.split('|');
int strLen = qstrData.length();
for(int i = 0;i < qstrData.length();i++)
{
if(qstrData.at(i) == "")
{
strLen--;
}
}
byteLen = strLen;
(*byteData) = new BYTE[byteLen];
for(int i = 0;i < byteLen;i++)
{
QString strTemp = qstrData.at(i);
(*byteData)[i] = QString2QCharToByte(strTemp);
}
}
//将QString转换为BYTE,如"23"-》x23
BYTE NFCTest::QString2QCharToByte(constQString str_arr)
{
unsigned char ch1 = 0;
unsigned char ch2 = 0;
int k = 0;
BYTE byteChar = 0;
int len = str_arr.length();
if(len == 1)
{
ch1 = 'f';
ch2 = str_arr.at(0).cell();
}
else if(len == 2)
{
ch1 = str_arr.at(0).cell();
ch2 = str_arr.at(1).cell();
}
else
{
ch1 = 'f';
ch2= 'f';
}
if (ch1 >= 48 && ch1 <=57)
{
ch1 &= 0x0F;
}
else if ((ch1 >= 'A' && ch1<= 'F') || (ch1 >= 'a' && ch1<= 'f'))
{
ch1 &= 0x0F;
ch1 += 0x09;
}
else
{
ch1 = 0x0F;
}
if (ch2 >= 48 && ch2 <=57)
{
ch2 &= 0x0F;
}
else if((ch2 >= 'A' && ch2 <='F') || (ch2 >= 'a' && ch2<= 'f'))
{
ch2 &= 0x0F;
ch2 += 0x09;
}
else
{
ch2 = 0x0F;
}
ch1<<=4;
byteChar = ch1 + ch2;
return byteChar;
}
- QString字符转换
- QString和string互相转换中文字符
- QString 与各个字符间的转换
- 【Qt】QString,std::string,char中文字符互相转换
- 如何将QString转换为binary数据类型!每两个字符转换为一个binary
- QString 字符编码
- QString Char* QByteArray转换
- QString Char* QByteArray转换
- unsigned char qstring,转换
- QString string char 转换
- QString string转换
- QString 转换 std::string
- QString 转换 char * buff
- Qstring ,char*,QByteArray转换
- QString CString char转换
- QString转换char数组
- QSTRING类型转换
- QString 转换 wchar
- 黑马程序员java自学总结之--模式
- freemarker.core.ParseException:Unexpected end of file reached
- 在vs&qt中使用资源文件
- 使用enable_shared_from_this
- 安卓渗透神器dsploit笔记
- QString字符转换
- 10W个为什么
- freemarker.core.InvalidReferenceException
- 黑马程序员——Java基础---面向对象(多态)--第8天--第98-106集
- 在做项目中遇到adapter中按钮换背影图失败
- 选择排序
- 如何去观察应用使用了多少内存
- WTL入门(二) WTL简介
- 火车采集器分页细节