1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > QT读取mp3的lrc歌词文件不乱码的解决方法

QT读取mp3的lrc歌词文件不乱码的解决方法

时间:2018-11-23 18:18:54

相关推荐

QT读取mp3的lrc歌词文件不乱码的解决方法

我们用Qt来实现音乐播放器时,一个关键的问题是如何用QString来存放 (*.lrc)文件中的中文或其他国家语言的歌词。

首先我们得了解Qt的内部编码格式以及Windows下lrc文件的编码格式,这样我们才能采取正确的方式获取不乱码的歌词。

Qt的默认编码格式: Unicode

Windows的默认编码格式: GBK

读取lrc歌词文件的方式: 采用文本流的方式读取

/* 文本流读取 */QFile lrc_file(/*歌词文件路径*/);if (!lrc_file.open(QIODevice::ReadOnly | QIODevice::Text)){ui->music_lrc_label->setText("打开歌词文件失败");return ;}//****这种方式读取中文不乱码QTextStream in(&lrc_file);QString all_lrc=in.readAll();lrc_file.close();

在Windows下中文GBK编码与Unicode编码相互转换

/* GBK 转换到 QString */QString str = QString::fromLocal18Bit("这里是中文");/* QString 转换到 GBK */QString str = ui.my_lineEdit->text(); //从输入框内获取中文文本//转换,共两步QByteArray bytes = str.toLocal18Bit();char* gbk_str = bytes.data();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。