Qt 字符转换
Qt char型转QString型 16进制与char型 转 16进制整型
去除字符Qstring 字符串当中不需要的字符
代码如下(示例):
void Widget::parseData(QString &str1)
{
char array[]={'f',':'}; //需要去除的字符 f、:、
int length = sizeof (array)/sizeof (char);
for(int i=0;i<length;i++)
{
QString tmp = QString(array[i]);
if(str1.contains(tmp))
{
str1 =str1.replace(tmp,"");
}
}
}
char 转 Qstring 16进制
代码如下(示例):
QString Widget::Byte_16(uchar *Data,int iLength) //输入 uchar 型 字符串,返回 QString 型 16进制 字符串。
{
QString ST="",strT;
int iB,iS;
char cB,cS;
//---
for (int i=0;i<iLength;i++)
{
iB = *(Data+i)/16;
if (iB>=10)
{
cB = 'A' + (iB-10);
}
else
cB = '0' + iB;
iS = *(Data+i)%16;
if (iS >= 10)
{
cS = 'A' + (iS-10);
}
else
cS = '0' + iS;
strT=QString("%1%2 ").arg(cB).arg(cS);
ST += strT;
}
return ST;
}
QlineEdit 获取 QString字符串转16进制的整型
代码如下(示例):
QString g_str =g_edit_4->text();
bool ok;
int length = g_str.size()/3+1; //字符串除3后的字节长度,以每次获取三个
uchar array[length];
for(int i = 0; i<=length; i++)
{
array[i] = (uchar) g_str.mid(i*3,2).toUInt(&ok,16); //mid 每隔三个 获取两个
}
char *p = (char *)array; //使用指针指向整型,从而达到 用char 型 输出整型16进制
g_sender->writeDatagram(p,QHostAddress(g_ip),g_port);