str_str = "中"
# 編碼為 utf-8,返回為bytes類型
str_bytes = str_str.encode("utf-8")
# 獲取byte數組,相當於Java的byte數組
str_list = []
for x in str_bytes:
print(x)
str_list.append(x)
# 把byte列表轉化爲bytes類型,再解碼為UTF-8類型
print(bytes(str_list).decode())
print(bytes([100, 56, 45]).decode())
'''
0正1負
228 源碼:11100100
10011011 10011100
補碼:10011100
代表值:-28
184 源碼:10111000
11000111 11001000
補碼:11001000
代表值:-72
173 源碼:10101101
11010010 11010011
補碼:11010011
代表值:-83
'''
在Python中,byte的範圍是【0,256】(ValueError: bytes must be in range(0, 256))
在Java中,byte的範圍是【-128,127】
其中無符號byte和有符號byte是可以互相轉化的,無符號轉化爲有符號為補碼。
参考地址:
https://blog.csdn.net/sinat_38816924/article/details/78438070
https://zhidao.baidu.com/question/10297593.html
https://blog.csdn.net/foryouslgme/article/details/54948394