Qt C ++写入/读取“IBM037 / CP037”

时间:2018-04-12 06:06:19

标签: c++ qt encoding character-encoding

我一直在寻找一种在Qt中写入和读取IBM037编码的方法。我能够通过使用

在C#中实现这一点
Encoding.GetEncoding("IBM037")

但是,我目前正在使用Qt将应用程序从C#移植到C ++,但我无法找到这样做的方法。

提前致谢。

编辑:我知道QTextCodec,但它不包含IBM 037的定义。使用它返回普通文本(非编码)。

1 个答案:

答案 0 :(得分:0)

您可以实现从QTextCodec派生的自己的类,并使用表(如可用的here)来逐字符地执行翻译。 正如评论中所建议的那样,检查QTextCodec文档here中所述的内容。

使用这些表格可以转换为ASCII 8位。然后使用Qt框架已经提供的函数将ASCII字符转换为Unicode。