PythonPython에서 바이트를 배우고 이해하려면 매일 바이트를 배워야 합니다. 관심 있는 친구는
B'xxx' 형식으로 표현되는 Python의 바이트코드를 참고하세요. x는 문자로 표시될 수도 있고 xnn 형식의 ASCII 인코딩으로 표시될 수도 있습니다. nn 범위는 00-ff(16진수)이며 총 256자입니다.
1. 기본 동작
바이트의 기본 동작은 String과 매우 유사함을 알 수 있습니다. 🎜>
In[40]: b = b"abcd\x64" In[41]: b Out[41]: b'abcdd' In[42]: type(b) Out[42]: bytes In[43]: len(b) Out[43]: 5 In[44]: b[4] Out[44]: 100 # 100用十六进制表示就是\x64
In[46]: barr = bytearray(b) In[47]: type(barr) Out[47]: bytearray In[48]: barr[0] = 110 In[49]: barr Out[49]: bytearray(b'nbcdd')
2. 바이트와 문자의 관계
바이트와 문자는 실제로 매우 유사하다고도 언급했습니다. 서로 변환됩니다. 바이트는 일부 인코딩 형식을 통해 해당 문자로 변환될 수 있습니다. encode() 메서드를 통해 인코딩 메서드를 전달하면 바이트를 문자로 변환할 수 있고, decode() 메서드를 통해 문자를 바이트로 변환할 수 있습니다.In[50]: s = "人生苦短,我用Python" In[51]: b = s.encode('utf-8') In[52]: b Out[52]: b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python' In[53]: c = s.encode('gb18030') In[54]: c Out[54]: b'\xc8\xcb\xc9\xfa\xbf\xe0\xb6\xcc\xa3\xac\xce\xd2\xd3\xc3Python' In[55]: b.decode('utf-8') Out[55]: '人生苦短,我用Python' In[56]: c.decode('gb18030') Out[56]: '人生苦短,我用Python' In[57]: c.decode('utf-8') Traceback (most recent call last): exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-57-8b50aa70bce9>", line 1, in <module> c.decode('utf-8') UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte In[58]: b.decode('gb18030') Out[58]: '浜虹敓鑻︾煭锛屾垜鐢≒ython'
3. 애플리케이션
가장 간단한 예로, Baidu에서 Python을 검색할 때 반환되는 페이지를 크롤링해 보겠습니다. Baidu는 UTF-8 인코딩 형식을 사용합니다. 반환 결과가 디코딩되지 않으면 매우 긴 바이트 문자열이 됩니다. 올바르게 디코딩되면 일반 HTML 페이지가 표시될 수 있습니다.import urllib.request url = "http://www.baidu.com/s?ie=utf-8&wd=python" page = urllib.request.urlopen(url) mybytes = page.read() encoding = "utf-8" print(mybytes.decode(encoding)) page.close()
위 내용은 파이썬 학습에서 꼭 배워야 할 바이트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!