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)
相關用法
- Python String轉bytes用法及代碼示例
- Python next()用法及代碼示例
- Python set()用法及代碼示例
- Python os.dup()用法及代碼示例
- Python os.openpty()用法及代碼示例
- Python os.symlink()用法及代碼示例
- Python os.fchdir()用法及代碼示例
- Python sys.getallocatedblocks()用法及代碼示例
- Python os.link()用法及代碼示例
- Python os._exit()用法及代碼示例
- Python os.abort()用法及代碼示例
- Python os.getgrouplist()用法及代碼示例
- Python os.setreuid()用法及代碼示例
注:本文由純淨天空篩選整理自manjeet_04大神的英文原創作品 Python | bytes() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。