當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python bytes()用法及代碼示例


python語言輕鬆提供了不同數據類型之間的相互轉換。本文旨在演示和工作到bytes()的不同數據類型的相互轉換,通常可用於編碼方案。
byte()將對象轉換為給定大小和數據的不可變字節表示的對象。

語法:bytes(src,enc,err)參數:src:必須轉換的源對象enc:如果對象是字符串,則需要的編碼err:如果字符串轉換失敗,則處理錯誤的方式。返回:根據src類型,由unicode 0-256個字符組成的字節不可變對象。整數:返回大小初始化為null的大小的數組。可迭代:返回元素大小等於可迭代元素(0-256)的可迭代大小的數組。字符串:返回已編碼的字符串acc。編碼,如果編碼失敗,則根據指定的err執行操作。無參數:返回大小為0的數組。

代碼1:在整數,無和可迭代對象上演示byte()


# Python 3 code to demonstrate the  
# working of bytes() on int, iterables, none 
  
# initializing integer and iterables 
a = 4
lis1 = [1, 2, 3, 4, 5] 
  
# No argument case 
print ("Byte conversion with no arguments:" + str(bytes()))  
  
# conversion to bytes  
print ("The integer conversion results in:"  + str(bytes(a))) 
print ("The iterable conversion results in:"  + str(bytes(lis1)))

輸出:

Byte conversion with no arguments:b''
The integer conversion results in:b'\x00\x00\x00\x00'
The iterable conversion results in:b'\x01\x02\x03\x04\x05'

字節與字符串的行為

字節接受字符串作為參數,並要求使用編碼方案來執行它。其中最重要的方麵是在編碼失敗的情況下處理錯誤,其中定義的一些錯誤處理方案為:

String Error Handlers:
strict: Raises the default UnicodeDecodeError in case of encode failure.
ignore: Ignores the unencodable character and encodes the remaining string.
replace: Replaces the unencodable character with a ‘?’.

代碼2:使用字符串演示bytes()

# Python 3 code to demonstrate the  
# working of bytes() on string 
  
# initializing string 
str1 = 'GeeksfÖrGeeks'
  
# Giving ascii encoding and ignore error 
print ("Byte conversion with ignore error:" +
      str(bytes(str1, 'ascii', errors = 'ignore')))  
  
# Giving ascii encoding and replace error 
print ("Byte conversion with replace error:" +
      str(bytes(str1, 'ascii', errors = 'replace')))  
  
# Giving ascii encoding and strict error 
# throws exception 
print ("Byte conversion with strict error:" +
      str(bytes(str1, 'ascii', errors = 'strict'))) 

輸出:

Byte conversion with ignore error:b'GeeksfrGeeks'
Byte conversion with replace error:b'Geeksf?rGeeks'

異常:

Traceback (most recent call last):
  File "/home/0458f7fae57c6f4102366356593842ef.py", line 15, in 
    print ("Byte conversion with strict error:" + str(bytes(str1, 'ascii', errors = 'strict'))) 
UnicodeEncodeError:'ascii' codec can't encode character '\xd6' in position 6:ordinal not in range(128)



相關用法


注:本文由純淨天空篩選整理自manjeet_04大神的英文原創作品 Python | bytes() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。