DtkCore
DTK Core module
载入中...
搜索中...
未找到
Dtk::Core::DTextEncoding类 参考

文本编码信息类,提供文本编码识别和文本编码转换的公共接口。 更多...

静态 Public 成员函数

static QByteArray detectTextEncoding (const QByteArray &content)
 检测给定文本的编码格式。
 
static QByteArray detectFileEncoding (const QString &fileName, bool *isOk=nullptr)
 检测给定文件的文本编码格式,将读取文件头部最多 64KB 的文本用于检测。若文件访问失败,返回空编码格式。
 
static bool convertTextEncoding (QByteArray &content, QByteArray &outContent, const QByteArray &toEncoding, const QByteArray &fromEncoding=QByteArray(), QString *errString=nullptr)
 将输入的文本 contentfromEncoding 编码格式转换到 toEncoding 编码格式,转换后的文本保存到 outContent 。 若转换过程中出现错误,将返回 false , 并设置 errString 错误信息,已转换的文本仍会写入 outContent
 
static bool convertTextEncodingEx (QByteArray &content, QByteArray &outContent, const QByteArray &toEncoding, const QByteArray &fromEncoding=QByteArray(), QString *errString=nullptr, int *convertedBytes=nullptr)
 将输入的文本 contentfromEncoding 编码格式转换到 toEncoding 编码格式,转换后的文本保存到 outContent 。 若转换过程中出现错误,将返回 false , 并设置 errString 错误信息,已转换的文本仍会写入 outContent
 
static bool convertFileEncoding (const QString &fileName, const QByteArray &toEncoding, const QByteArray &fromEncoding=QByteArray(), QString *errString=nullptr)
 读取输入的 fileName 文件内容,将文件内容从 fromEncoding 编码格式转换到 toEncoding 编码格式,转换后的文本保存到 fileName 。 若转换过程中出现错误,将返回 false , 并设置 errString 错误信息,已转换的文本会被抛弃。
 
static bool convertFileEncodingTo (const QString &fromFile, const QString &toFile, const QByteArray &toEncoding, const QByteArray &fromEncoding=QByteArray(), QString *errString=nullptr)
 读取输入的 fromFile 文件内容,将文件内容从 fromEncoding 编码格式转换到 toEncoding 编码格式,转换后的文本保存到 toFile 。 若转换过程中出现错误,将返回 false , 并设置 errString 错误信息,已转换的文本会被抛弃。
 

详细描述

文本编码信息类,提供文本编码识别和文本编码转换的公共接口。

提供文本编码识别和文本编码转换的公共接口,默认使用 QTextCodec 进行检测, 若系统环境中存在 libuchardet.so 及 libicuuc.so 库,可拓展支持的编码格式。

成员函数说明

◆ convertFileEncoding()

bool DTextEncoding::convertFileEncoding ( const QString &  fileName,
const QByteArray &  toEncoding,
const QByteArray &  fromEncoding = QByteArray(),
QString *  errString = nullptr 
)
static

读取输入的 fileName 文件内容,将文件内容从 fromEncoding 编码格式转换到 toEncoding 编码格式,转换后的文本保存到 fileName 。 若转换过程中出现错误,将返回 false , 并设置 errString 错误信息,已转换的文本会被抛弃。

参数
[in]fileName传入及保存的文件路径
[in]toEncoding转换的编码格式
[in]fromEncoding原始的编码格式,为空时会通过 DTextEncoding::detectTextEncoding 检测编码格式
[out]errString错误信息
返回
是否转换成功
参见
DTextEncoding::convertTextEncoding

◆ convertFileEncodingTo()

bool DTextEncoding::convertFileEncodingTo ( const QString &  fromFile,
const QString &  toFile,
const QByteArray &  toEncoding,
const QByteArray &  fromEncoding = QByteArray(),
QString *  errString = nullptr 
)
static

读取输入的 fromFile 文件内容,将文件内容从 fromEncoding 编码格式转换到 toEncoding 编码格式,转换后的文本保存到 toFile 。 若转换过程中出现错误,将返回 false , 并设置 errString 错误信息,已转换的文本会被抛弃。

参数
[in]fromFile传入的文件路径
[in]toFile保存的文件路径
[in]toEncoding转换的编码格式
[in]fromEncoding原始的编码格式,为空时会通过 DTextEncoding::detectTextEncoding 检测编码格式
[out]errString错误信息
返回
是否转换成功
参见
DTextEncoding::convertTextEncoding

◆ convertTextEncoding()

bool Dtk::Core::DTextEncoding::convertTextEncoding ( QByteArray &  content,
QByteArray &  outContent,
const QByteArray &  toEncoding,
const QByteArray &  fromEncoding = QByteArray(),
QString *  errString = nullptr 
)
static

将输入的文本 contentfromEncoding 编码格式转换到 toEncoding 编码格式,转换后的文本保存到 outContent 。 若转换过程中出现错误,将返回 false , 并设置 errString 错误信息,已转换的文本仍会写入 outContent

注解
当处理大量文本数据时,需考虑并行处理,防止阻塞线程。
参数
[in]content传入的文本
[out]outContent编码转换后的文本
[in]toEncoding转换的编码格式
[in]fromEncoding原始的编码格式,默认为空,会通过 DTextEncoding::detectTextEncoding 检测编码格式
[out]errString错误信息
返回
是否转换成功
参见
DTextEncoding::convertTextEncodingEx

◆ convertTextEncodingEx()

bool Dtk::Core::DTextEncoding::convertTextEncodingEx ( QByteArray &  content,
QByteArray &  outContent,
const QByteArray &  toEncoding,
const QByteArray &  fromEncoding = QByteArray(),
QString *  errString = nullptr,
int *  convertedBytes = nullptr 
)
static

将输入的文本 contentfromEncoding 编码格式转换到 toEncoding 编码格式,转换后的文本保存到 outContent 。 若转换过程中出现错误,将返回 false , 并设置 errString 错误信息,已转换的文本仍会写入 outContent

注解
当处理大量文本数据时,需考虑并行处理,防止阻塞线程。
返回 false 时,已转换的文本仍会写入 outContent ,同时 convertedBytes 会记录已转换数据长度,你可以决定保留或移除转换文本。
参数
[in]content传入的文本
[out]outContent编码转换后的文本
[in]toEncoding转换的编码格式
[in]fromEncoding原始的编码格式,默认为空,会通过 DTextEncoding::detectTextEncoding 检测编码格式
[out]errString错误信息
[out]convertedBytes已转换的 content 数据长度,若转换过程出现错误,这个值会指向异常字符出现的位置
返回
是否转换成功

◆ detectFileEncoding()

QByteArray Dtk::Core::DTextEncoding::detectFileEncoding ( const QString &  fileName,
bool *  isOk = nullptr 
)
static

检测给定文件的文本编码格式,将读取文件头部最多 64KB 的文本用于检测。若文件访问失败,返回空编码格式。

参数
[in]fileName文件路径
[out]isOk检测是否成功,主要判断文件内容能否正确读取
返回
文本编码格式
参见
DTextEncoding::detectTextEncoding

◆ detectTextEncoding()

QByteArray Dtk::Core::DTextEncoding::detectTextEncoding ( const QByteArray &  content)
static

检测给定文本的编码格式。

默认使用 QTextCodec 检测,若系统环境中存在 libuchardet.so 及 libicuuc.so 库,可拓展支持的编码格式。 检测会判断最接近的编码格式,未成功识别或为 ASCII 编码格式,将返回 UTF-8 编码格式。

参数
[in]content待检测的文本内容
返回
文本编码格式

该类的文档由以下文件生成: