zoukankan      html  css  js  c++  java
  • QT 十六进制字符串转化为十六进制编码

    /*************************************************
    Function: hexStringtoByteArray()
    Description: 十六进制字串转化为十六进制编码
    Calls: formatString()
    Called By:
    Input: hex->待转化的十六进制字串
    Output: NULL
    Return: QByteArray
    Others: NULL
    *************************************************/
    QByteArray Omron::hexStringtoByteArray(QString hex)
    {
        QByteArray ret;
        hex=hex.trimmed();
        formatString(hex,2,' ');
        QStringList sl=hex.split(" ");
        foreach(QString s,sl)
        {
            if(!s.isEmpty())
                ret.append((char)s.toInt(0,16)&0xFF);
        }
        return ret;
    }

    /*************************************************
    Function: formatString()
    Description: 将十六进制字串每字节中间加空格分隔
    Calls:
    Called By:hexStringtoByteArray()
    Input: org->待处理的字串
           n->间隔数默认为2
           ch->分隔标志,在此取空格
    Output: NULL
    Return: void
    Others: NULL
    *************************************************/
    void Omron::formatString(QString &org, int n=2, const QChar &ch=QChar(' '))
    {
        int size= org.size();
        int space= qRound(size*1.0/n+0.5)-1;
        if(space<=0)
            return;
        for(int i=0,pos=n;i<space;++i,pos+=(n+1))
        {
            org.insert(pos,ch);
        }
    }

  • 相关阅读:
    BufferedOutPutStream 字节缓冲输出流 BufferedIntPutSream 字节缓冲输入流
    Properpies
    jdk9的新特性
    try catch finally处理流的异常
    续写和换行
    write写入
    flush close
    Postman功能详解
    HyLoad压测的使用
    找出Window/Linux下 占用端口的进程
  • 原文地址:https://www.cnblogs.com/luxiaolai/p/3728152.html
Copyright © 2011-2022 走看看