- class QStringEncoder#
QStringEncoder
类提供了一个基于状态的对文本的编码器。 更多信息…概述#
方法#
def
__init__()
def
requiredSpace()
注意
此文档可能包含从C++自动转换为Python的片段,我们始终欢迎对片段翻译的贡献。如果您发现翻译问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单通知我们。
详细描述#
警告
本节包含从C++自动转换为Python的片段,可能包含错误。
文本编码器将文本从Qt的内部表示转换为特定编码的编码文本格式。
可以使用以下代码将字符串从Unicode转换为本地编码
string = "..." fromUtf16 = QStringEncoder(QStringEncoder.Utf8) encodedString = fromUtf16(string)
编码器记住在调用之间的任何所需状态,因此转换数据(例如,在通过网络接收时)就像在新的数据可用时调用编码器一样简单。
fromUtf16 = QStringEncoder(QStringEncoder.Utf8) encoded = QByteArray() while new_data_available(): chunk = get_new_data() encoded += fromUtf16(chunk)
The
QStringEncoder
对象在块之间保持状态,因此即使一个 UTF-16 代理字符在块之间拆分,它也能正确工作。由于内部状态,
QStringEncoder
对象不能被复制,但可以移动。- __init__()#
默认构造一个编码器。默认编码器是无效的,不能用于转换文本。
- __init__(encoding[, flags=QStringConverterBase.Flag.Default])
- __init__(name[, flags=QStringConverterBase.Flag.Default])
- 参数:
name – str
flags –
Flag
的组合
- requiredSpace(inputLength)#
- 参数:
inputLength – int
- 返回类型:
int
返回处理
inputLength
解码数据的所需最大字符数。另请参阅
appendToBuffer()