PySide6.QtCore.QStringEncoder¶
- 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)
QStringEncoder
对象在块之间保持状态,因此即使 UTF-16 代理字符在块之间分割,它也能正常工作。QStringEncoder
对象由于其内部状态无法被复制,但可以被移动。- __init__()¶
默认构造一个编码器。默认的编码器是无效的,不能用于转换文本。
- __init__(name[, flags=QStringConverterBase.Flag.Default])
- Parameters:
name – str
flags –
Flag
的组合
- __init__(encoding[, flags=QStringConverterBase.Flag.Default])
- requiredSpace(inputLength)¶
- Parameters:
inputLength – int
- Return type:
整数
返回处理
inputLength
解码数据所需的最大字符数。另请参阅
appendToBuffer()