我编写了一个函数,将一些二进制数据的十六进制字符串表示形式(如0x00)转换为数据本身。
如何改进这段代码?
QByteArray restoreData(const QByteArray &data, const QString prepender = "x")
{
QByteArray restoredData = data;
return QByteArray::fromHex(restoredData.replace(prepender, ""));
}
发布于 2014-05-25 04:59:30
为了避免源数组的深度复制,可以使用right
方法实现这一点:
QByteArray restoreData(const QByteArray &data, char prepender = 'x')
{
return QByteArray::fromHex(data.right(data.size() - data.indexOf(prepender) - 1);
}
https://codereview.stackexchange.com/questions/51605
复制