簡體   English   中英

在Python中將utf-8字符串拆分為字節

[英]split utf-8 string into bytes in python

我試圖在Python 3中將UTF-8字符串拆分為字節。問題是,當我使用bytearray,byte,encode等函數時,我總是得到一個數組,其元素大小為14個字節,而不是我期望的1個字節。 我需要將任何文本文件拆分為字節序列,然后使用套接字逐字節發送它們。 我嘗試過這樣的事情:

infile = open (file, "r")
str = infile.read()
byte_str = bytes(str, 'UTF-8')
print("size of byte_str",sys.getsizeof(byte_str[0]))

打印給我14,但我需要1 ...有什么建議嗎?

引用官方文件

sys.getsizeof(object[, default])

返回對象的大小(以字節為單位)。 該對象可以是任何類型的對象。 所有內置對象都將返回正確的結果,但是對於第三方擴展,這不一定成立,因為它是特定於實現的。

僅考慮直接歸因於對象的內存消耗,而不考慮它所引用的對象的內存消耗。

如果給定,則如果對象不提供檢索大小的方法,則將返回默認值。 否則會引發TypeError。

如果對象由垃圾收集器管理,則 getsizeof()調用對象的__sizeof__方法並添加額外的垃圾收集器開銷

有關遞歸使用getsizeof()來查找容器及其所有內容的大小的示例,請參見遞歸sizeof配方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM