Per esempio, ho una stringa come questa (valore di ritorno di subprocess.check_output
):Come convertire 'stringa binaria' in stringa normale in Python3?
>>> b'a string'
b'a string'
Qualunque cosa ho fatto ad esso, è sempre stampate con la fastidiosa b'
prima della stringa:
>>> print(b'a string')
b'a string'
>>> print(str(b'a string'))
b'a string'
Qualcuno ha qualche idea su come usarlo come una normale stringa o convertirlo in una stringa normale?
persone usano ancora ascii nel 2015 ??? – lyomi
@lyomi, ho usato 'ascii' perché la stringa data è stata creata con lettere ascii. Non è necessario specificare la codifica se la codifica è 'utf-8' (default in Python 3.x in base a' str.encode', 'byte.decode' doc-string) – falsetru
@lyomi Nel 2016 (ed è quasi Alla fine) le persone usano ancora ascii. Ci sono molti molti prodotti e sistemi "legacy" (comprese le specifiche), ma ci sono anche molti motivi per cui potresti creare una "stringa binaria" in cui non vuoi unicode o qualcosa per provare a "unire" più byte in un singolo personaggio. Spesso usiamo "stringhe" per contenere dati binari, ad esempio per fare richieste DNS ecc. – Jmons