如何在PySide2中将QByteArray转换为python字符串

2024-05-16 19:02:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为roleNamePySide2.QtCore.QByteArray对象,它编码了一个python字符串:

propName = metaProp.name() // this is call of [const char *QMetaProperty::name() ](https://doc.qt.io/qt-5/qmetaproperty.html#name)
// encode the object
roleName = QByteArray(propName.encode())
print(roleName) // this gives b'myname'
// now I would like to get just "myname" without the "b" 
roleString = str(roleName)
print(roleString) // this gives the same output as above

我怎样才能找回我的解码字符串?在


Tags: the字符串namethisqtencodeprintpyside2
1条回答
网友
1楼 · 发布于 2024-05-16 19:02:30

在Python3中,将类似字节的对象转换为文本字符串时,必须指定编码。在PySide/PyQt中,这适用于QByteArray,其方式与对bytes相同。如果不指定和编码,str()的工作方式与repr()类似:

>>> ba = Qt.QByteArray(b'foo')
>>> str(ba)
"b'foo'"
>>> b = b'foo'
>>> str(b)
"b'foo'"

有几种不同的方法可以转换为文本字符串:

^{pr2}$

最后一个示例特定于QByteArray,但前两个示例应该可以处理任何类似于对象的字节。在

相关问题 更多 >