Na przykład, mam ciąg jak poniżej (wartość zwracana subprocess.check_output
):Jak przekonwertować ciąg binarny na zwykły ciąg znaków w języku Python3?
>>> b'a string'
b'a string'
Cokolwiek zrobiłam do niego, jest zawsze drukowana z irytujące b'
przed wyrażenie:
>>> print(b'a string')
b'a string'
>>> print(str(b'a string'))
b'a string'
Czy ktoś ma jakieś pomysły na temat używania go jako zwykły ciąg lub przekształcić go w normalny ciąg?
ludzie nadal używać ASCII w 2015 ??? – lyomi
@lyomi, użyłem 'ascii', ponieważ podany ciąg został napisany z literami ASCII. Nie musisz określać kodowania, jeśli kodowanie to 'utf-8' (domyślnie w Pythonie 3.x zgodnie z' str.encode', 'bytes.decode' doc-string) – falsetru
@lyomi W 2016 (i jego prawie koniec) ludzie nadal używają ascii. Istnieje wiele "starych" produktów i systemów (w tym specyfikacje), ale istnieje również wiele powodów, dla których możesz tworzyć "ciąg binarny", w którym nie chcesz unicode lub czegoś, co możesz spróbować "scalić" wiele bajtów w pojedyncza postać. Często używamy "ciągów" do przechowywania danych binarnych, na przykład do wysyłania żądań DNS, itp. – Jmons