如何在Qt中显式获取文本编码系统?

时间:2013-05-04 07:04:21

标签: qt encoding

通过以下方式将字符串转换为QTextCodec *很容易:

char *str = "UTF-8";
QTextCodec *codec = QTextCodec::codecForName(str);

但我们可以反过来吗?例如:

QTextCodec *codec = QTextCodec::codecForName("System");

但是如何将codec变成字符串以便我知道编码系统是UTF-8 / UTF-16还是其他?

1 个答案:

答案 0 :(得分:1)

  

但是如何将编解码器转换为字符串以便我知道编码系统是UTF-8 / UTF-16还是其他?

使用QTextCodec::name() const

char *str = "UTF-8";
QTextCodec *codec = QTextCodec::codecForName(str);
QByteArray name = codec->name(); //  "UTF-8"