[英]PyQt4 Python2 Unicode
很久以前,我制作了一個具有unicode字符的程序(PyQt4 / PySide和python 2.7.x),並使用cx_Freeze構建並正常工作。
我使用例如:
u"\u25B2"
QString僅接受ASCII字符。 我認為它不適用於Python v2或v3。 由於QByteArray接受Latin-1,您可能會從中得到更多。
從文檔:
http://pyqt.sourceforge.net/Docs/PyQt4/gotchas.html
對於Python v3,默認情況下會進行以下轉換。
- 如果Qt期望使用char *(或const版本),則PyQt4將接受僅包含ASCII字符,字節,QByteArray或實現緩沖協議的Python對象的str或QString。
- 如果Qt需要一個char(或const版本),則PyQt4將接受與char *相同的類型,並且還要求提供一個字符。
- 如果Qt期望帶符號的char *或無符號的char *(或const版本),則PyQt4將接受一個字節。
- 如果Qt需要一個有符號的char或一個無符號的char(或const版本),則PyQt4將接受長度為1的字節。
- 如果Qt期望使用QString,則PyQt4將接受str(僅包含ASCII字符,QChar或QByteArray的字節)。
- 如果Qt需要一個QByteArray,那么PyQt4也將接受僅包含Latin-1字符或字節的str。
對於Python v2,默認情況下會進行以下轉換。
- 如果Qt期望使用char *,signed char *或unsigned char *(或const版本),則PyQt4將接受僅包含ASCII字符,str,QByteArray或實現緩沖區協議的Python對象的unicode或QString。 。
- 如果Qt期望使用char,signed char或unsigned char(或const版本),則PyQt4將接受與char *,signed char *和unsigned char *相同的類型,並且還要求提供單個字符。
- 如果Qt需要QString,則PyQt4將接受unicode,即僅包含ASCII字符,QChar或QByteArray的str。
- 如果Qt需要一個QByteArray,則PyQt4將接受僅包含Latin-1字符或str的unicode。
在文件頂部添加編碼僅在讀取文件而不解釋代碼時才有助於操作系統。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.