加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 检查内容语言是否使用从右到左的方向?

发布时间:2020-12-16 07:21:28 所属栏目:百科 来源:网络整理
导读:Qt中是否有内置方法或其他方式检查内容语言是否使用从右到左的方向? QFile fileHandle("c:/file.txt");if(!fileHandle.open(QFile::ReadOnly|QFile::Text)) return;QTextStream fileContent(fileHandle);fileContent.setCodec("UTF-8");fileContent.setGene
Qt中是否有内置方法或其他方式检查内容语言是否使用从右到左的方向?

QFile fileHandle("c:/file.txt");
if(!fileHandle.open(QFile::ReadOnly|QFile::Text))
    return;
QTextStream fileContent(&fileHandle);
fileContent.setCodec("UTF-8");
fileContent.setGenerateByteOrderMark(false);
ui->plainTextEdit->setPlainText(fileContent.readAll());
fileHandle.close();

解决方法

我没有使用从右到左的语言,但希望这些建议可以帮助您:

>如果你知道你的内容在UNICODE中,你可以查看this answer(使用QTextCodec :: codecForUtfText)来检测确切的编码.然后,对符号进行分类以检测主导子集(从左到右:英语,西里尔语……,从右到左:阿拉伯语,希伯来语……),可能直方图就足够了.您可以使用语言检测框架,但我认为您只需要语言类型,而不是语言本身(这更复杂).
>搜索right-to-left mark (RLM)(通常用于指示双向文本的非打印字符).如果您创建内容,则可以在文件开头添加RLM(opposite (LRM)也存在).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读