将可变长度十六进制字符串转换为"01A1"包含该数据的字节数组的最佳方法是什么.
即转换这个:
std::string = "01A1";
Run Code Online (Sandbox Code Playgroud)
进入这个
char* hexArray;
int hexLength;
Run Code Online (Sandbox Code Playgroud)
或这个
std::vector<char> hexArray;
Run Code Online (Sandbox Code Playgroud)
所以当我把hexdump -C它写入文件时,我得到包含的二进制数据01A1.
我一直试图在我的Windows PC上使用QCA(Link)几天,在我的linux机箱上运行正常,只是无法使用Windows.
所以我按照安装QCA的所有说明,然后是QCA的ossl插件.QCA工作正常,但由于某种原因,插件没有出现在我的Qt Creator中,也无法使用插件中的某些功能.
我使用QCA附带的qcatool2.exe来检查我的插件
qcatool2 plugins --debug
Run Code Online (Sandbox Code Playgroud)
并收到此错误消息:
plugin: qca-ossl2.dll: failed to load: The plugin 'C:/Qt/2010.05/qt/plugins/crypto/qca-ossl2.dll' uses incompatible Qt library. Expected build key "Windows mingw debug full-config", got "Windows mingw release full-config"
现在这在我看来好像qt需要在调试模式下编译插件(为了让构建密钥包含调试而不是发布)所以我添加了
CONFIG += debug
Run Code Online (Sandbox Code Playgroud)
到我的插件的项目文件并像往常一样运行qmake和mingw32-make,但这似乎没有任何效果.
我的插件的项目文件现在是:
TEMPLATE = lib
CONFIG += plugin
QT -= gui
DESTDIR = lib
VERSION = 2.0.0
unix:include(conf.pri)
windows:CONFIG += crypto
windows:include(conf_win.pri)
CONFIG += create_prl
SOURCES = qca-ossl.cpp
windows:{
load(winlocal.prf)
isEmpty(WINLOCAL_PREFIX) {
error("WINLOCAL_PREFIX not found. See http://delta.affinix.com/platform/#winlocal")
}
OPENSSL_PREFIX = $$WINLOCAL_PREFIX …Run Code Online (Sandbox Code Playgroud)