在Qt5中使用Unicode来存储、操作字符串,windows下是GBK编码。
UTF-8 转 GBK
QString appLink = "有道云笔记.lnk";
appLink = chineseCodec(appLink);
//返回与匹配名称最匹配的对象
QTextCodec *utf8 = QTextCodec::codecForName("UTF-8");
QTextCodec *gbk = QTextCodec::codecForName("gbk");
//设置系统本地编码格式
QTextCodec::setCodecForLocale(utf8);
//1. utf-8 -> unicode,
QString appLinkUnicode= utf8->toUnicode(appLink.toLocal8Bit().data());
//2. unicode -> gbk
QByteArray appLinkGbk= gbk->fromUnicode(appLinkUnicode);