Hướng dẫn how many bytes is a string python? - một chuỗi python là bao nhiêu byte?

63

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Có một số chức năng sẽ cho tôi biết một chuỗi có bao nhiêu byte trong bộ nhớ?

Tôi cần đặt kích thước của bộ đệm ổ cắm để chuyển toàn bộ chuỗi cùng một lúc.

Hỏi ngày 25 tháng 10 năm 2010 lúc 9:20Oct 25, 2010 at 9:20

Hướng dẫn how many bytes is a string python? - một chuỗi python là bao nhiêu byte?

Richard Knoprichard KnopRichard Knop

78.3K146 Huy hiệu vàng387 Huy hiệu bạc546 Huy hiệu Đồng146 gold badges387 silver badges546 bronze badges

3

Nếu đó là Python 2.x

>>> len("你好".encode("utf8"))
6
3, hãy lấy
>>> len("你好".encode("utf8"))
6
4 của nó. Đó là Python 3.x
>>> len("你好".encode("utf8"))
6
3 (hoặc Python 2.x
>>> len("你好".encode("utf8"))
6
6), lần đầu tiên mã hóa thành
>>> len("你好".encode("utf8"))
6
7 (hoặc
>>> len("你好".encode("utf8"))
6
3, tương ứng) đối tượng str.


Ví dụ: các ký tự ASCII sử dụng mỗi ký tự 1 byte:

>>> len("hello".encode("utf8"))
5

Trong khi đó, người Trung Quốc sử dụng 3 byte mỗi byte:

>>> len("你好".encode("utf8"))
6

Đã trả lời ngày 25 tháng 10 năm 2010 lúc 9:48Oct 25, 2010 at 9:48

2

import sys
sys.getsizeof(s)

# getsizeof(object, default) -> int
# Return the size of object in bytes.

Nhưng thực sự bạn cần phải biết độ dài đại diện của nó, vì vậy một cái gì đó như

import sys
sys.getsizeof(s)

# getsizeof(object, default) -> int
# Return the size of object in bytes.
1 là đủ.

Đã trả lời ngày 25 tháng 10 năm 2010 lúc 9:23Oct 25, 2010 at 9:23

Eumiroeumiroeumiro

199K34 Huy hiệu vàng294 Huy hiệu bạc259 Huy hiệu Đồng34 gold badges294 silver badges259 bronze badges

8

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận

    Trong khi làm việc với các chuỗi, đôi khi, chúng tôi yêu cầu để có được kích thước của chuỗi, tức là chiều dài của nó. Nhưng có thể có các tình huống trong đó chúng tôi yêu cầu để có được kích thước mà chuỗi có trong byte thường hữu ích trong trường hợp một người đang làm việc với các tệp. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện.

    Phương pháp số 1: Sử dụng

    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    2

    Phương pháp đơn giản và ban đầu xuất hiện trong tâm trí là chuyển đổi chuỗi thành định dạng byte và sau đó trích xuất kích thước của nó.

    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    3
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    4
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    5

    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    6
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    7
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    8
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    9
    >>> len("你好".encode("utf8"))
    6
    
    3
    The original string : geekforgeeks
    The length of string in bytes : 12
    
    1

    The original string : geekforgeeks
    The length of string in bytes : 12
    
    2
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    4
    >>> len("你好".encode("utf8"))
    6
    
    4
    The original string : geekforgeeks
    The length of string in bytes : 12
    
    5
    >>> len("你好".encode("utf8"))
    6
    
    9
    The original string : geekforgeeks
    The length of string in bytes : 12
    
    7

    The original string : geekforgeeks
    The length of string in bytes : 12
    

    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    6
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    7
    The original string : geekforgeeks
    The length of string in bytes : 12
    
    0
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    9
    >>> len("你好".encode("utf8"))
    6
    
    3
    The original string : geekforgeeks
    The length of string in bytes : 12
    
    3

    Đầu ra:

    The original string : geekforgeeks
    The length of string in bytes : 12
    
    6
    The original string : geekforgeeks
    The length of string in bytes : 12
    
    7

    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    3
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    4
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    5

    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    6
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    7
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    8
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    9
    >>> len("你好".encode("utf8"))
    6
    
    3
    The original string : geekforgeeks
    The length of string in bytes : 12
    
    1

    The original string : geekforgeeks
    The length of string in bytes : 12
    
    2
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    4
    bytes(str, enc, error)
    
    9

    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    6
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    7
    The original string : geekforgeeks
    The length of string in bytes : 12
    
    0
    import sys
    sys.getsizeof(s)
    
    # getsizeof(object, default) -> int
    # Return the size of object in bytes.
    
    9
    >>> len("你好".encode("utf8"))
    6
    
    3
    The original string : geekforgeeks
    The length of string in bytes : 12
    
    3

    Đầu ra:

    The original string : geekforgeeks
    The length of string in bytes : 12
    


    Trong hướng dẫn này, chúng tôi xem xét cách chuyển đổi chuỗi python thành byte. Chúng tôi xem xét tất cả các phương pháp khác nhau cùng với những hạn chế và cảnh báo của chúng.

    Mục lục - Chuỗi Python thành Byte:

    • Chuỗi python cho byte
    • Phương pháp chuyển đổi chuỗi thành byte
      • Sử dụng byte ()
      • Sử dụng Encode ()
    • Hạn chế và cảnh báo - Chuỗi Python đến byte

    Cả hai phương pháp giải quyết cùng một vấn đề một cách hiệu quả và chọn một phương pháp cụ thể sẽ sôi sục với một lựa chọn cá nhân. Tuy nhiên, tôi muốn giới thiệu phương pháp thứ hai cho người mới bắt đầu.

    Phương thức

    #Using the byte() method
    
    # initializing string 
    str_1 = "Join our freelance network"
    
    str_1_encoded = bytes(str_1,'UTF-8')
    
    #printing the encode string 
    print(str_1_encoded)
    
    #printing individual bytes
    for bytes in str_1_encoded:
        print(bytes, end = ' ')
    
    7 trả về một đối tượng bất biến. Do đó, hãy xem xét sử dụng
    #Using the byte() method
    
    # initializing string 
    str_1 = "Join our freelance network"
    
    str_1_encoded = bytes(str_1,'UTF-8')
    
    #printing the encode string 
    print(str_1_encoded)
    
    #printing individual bytes
    for bytes in str_1_encoded:
        print(bytes, end = ' ')
    
    8 nếu bạn đang tìm kiếm một đối tượng có thể thay đổi.

    Trong Python 2, chuỗi và byte là các đối tượng kiểu chữ giống nhau; Tuy nhiên, sau khi giới thiệu các đối tượng Byte Python 3 được coi là một chuỗi các byte và các chuỗi được coi là một chuỗi các ký tự. Về bản chất, các chuỗi có thể đọc được của con người và để chúng có thể đọc được máy, chúng phải được chuyển đổi thành các đối tượng byte. Chuyển đổi này cũng cho phép dữ liệu được lưu trữ trực tiếp trên đĩa.

    Quá trình chuyển đổi các đối tượng chuỗi thành các đối tượng byte được gọi là mã hóa và nghịch đảo được gọi là giải mã. Chúng tôi xem xét các phương pháp để đạt được điều này dưới đây.

    Phương pháp chuyển đổi chuỗi thành byte:

    Có nhiều phương pháp có thể được sử dụng để chuyển đổi chuỗi Python thành byte, tuy nhiên, chúng tôi xem xét các phương pháp phổ biến và đơn giản nhất có thể được sử dụng.

    Sử dụng byte ():

    Phương thức byte () là một hàm sẵn có có thể được sử dụng để chuyển đổi các đối tượng thành các đối tượng byte.

    Cú pháp của byte ():

    bytes(str, enc, error)
    

    Các byte lấy một đối tượng (một chuỗi trong trường hợp của chúng tôi), phương thức mã hóa cần thiết và chuyển đổi nó thành một đối tượng byte. Phương thức byte () chấp nhận đối số thứ ba về cách xử lý các lỗi.

    Chúng ta hãy xem mã để chuyển đổi chuỗi Python thành byte. Loại mã hóa chúng tôi sử dụng ở đây là UTF-8.

    #Using the byte() method
    
    # initializing string 
    str_1 = "Join our freelance network"
    
    str_1_encoded = bytes(str_1,'UTF-8')
    
    #printing the encode string 
    print(str_1_encoded)
    
    #printing individual bytes
    for bytes in str_1_encoded:
        print(bytes, end = ' ')
    

    Đầu ra như sau:

    b'Join our freelance network'
    74 111 105 110 32 111 117 114 32 102 114 101 101 108 97 110 99 101 32 110 101 116 119 111 114 107
    

    Như bạn có thể thấy phương pháp này đã chuyển đổi chuỗi thành một chuỗi byte.

    Lưu ý: Phương pháp này chuyển đổi các đối tượng thành byte bất biến, nếu bạn đang tìm kiếm một phương thức có thể thay đổi, bạn có thể sử dụng phương thức bytearray (). This method converts objects into immutable bytes, if you are looking for a mutable method you can use the bytearray() method.

    Sử dụng encode ():

    Phương pháp

    #Using the byte() method
    
    # initializing string 
    str_1 = "Join our freelance network"
    
    str_1_encoded = bytes(str_1,'UTF-8')
    
    #printing the encode string 
    print(str_1_encoded)
    
    #printing individual bytes
    for bytes in str_1_encoded:
        print(bytes, end = ' ')
    
    6 là phương pháp được sử dụng phổ biến nhất và được khuyến nghị để chuyển đổi chuỗi python thành byte. Một lý do chính là nó dễ đọc hơn.

    Cú pháp của Encode ():

    string.encode(encoding=encoding, errors=errors)
    

    Ở đây, chuỗi đề cập đến chuỗi bạn đang tìm cách chuyển đổi.

    Parameters:

    1. Mã hóa - Tùy chọn. Phương pháp mã hóa bạn đang tìm cách sử dụng. Sau Python 3, UTF-8 đã trở thành mặc định. - Optional. The encoding method you are looking to use. After Python 3, UTF-8 has become the default.
    2. Lỗi - Tùy chọn, một chuỗi chứa thông báo lỗi. - Optional, A string containing the error message.

    Mã để chuyển đổi chuỗi python thành byte:

    #Using the encode method
    
    # initializing string 
    str_1 = "Join our freelance network"
    
    str_1_encoded = str_1.encode(encoding = 'UTF-8')
    
    #printing the encode string 
    print(str_1_encoded)
    
    #printing individual bytes
    for bytes in str_1_encoded:
        print(bytes, end = ' ')
    

    Đầu ra giống như trên.

    b'Join our freelance network'
    74 111 105 110 32 111 117 114 32 102 114 101 101 108 97 110 99 101 32 110 101 116 119 111 114 107
    

    Tương tự như phương thức mã hóa (), phương thức giải mã () có thể được sử dụng để chuyển đổi byte thành chuỗi.

    >>> len("你好".encode("utf8"))
    6
    
    1

    Đầu ra

    >>> len("你好".encode("utf8"))
    6
    
    2

    Hạn chế và cảnh báo - Chuỗi Python đến byte

    • Cả hai phương pháp giải quyết cùng một vấn đề một cách hiệu quả và chọn một phương pháp cụ thể sẽ sôi sục với một lựa chọn cá nhân. Tuy nhiên, tôi muốn giới thiệu phương pháp thứ hai cho người mới bắt đầu.
    • Phương thức
      #Using the byte() method
      
      # initializing string 
      str_1 = "Join our freelance network"
      
      str_1_encoded = bytes(str_1,'UTF-8')
      
      #printing the encode string 
      print(str_1_encoded)
      
      #printing individual bytes
      for bytes in str_1_encoded:
          print(bytes, end = ' ')
      
      7 trả về một đối tượng bất biến. Do đó, hãy xem xét sử dụng
      #Using the byte() method
      
      # initializing string 
      str_1 = "Join our freelance network"
      
      str_1_encoded = bytes(str_1,'UTF-8')
      
      #printing the encode string 
      print(str_1_encoded)
      
      #printing individual bytes
      for bytes in str_1_encoded:
          print(bytes, end = ' ')
      
      8 nếu bạn đang tìm kiếm một đối tượng có thể thay đổi.
    • Trong khi sử dụng các phương thức
      #Using the byte() method
      
      # initializing string 
      str_1 = "Join our freelance network"
      
      str_1_encoded = bytes(str_1,'UTF-8')
      
      #printing the encode string 
      print(str_1_encoded)
      
      #printing individual bytes
      for bytes in str_1_encoded:
          print(bytes, end = ' ')
      
      7, đối tượng phải có kích thước 0

    Một chuỗi là bao nhiêu byte?

    Nhưng những gì về một chuỗi? Một chuỗi bao gồm: tiêu đề đối tượng 8 byte (đồng bộ hóa 4 byte và bộ mô tả loại 4 byte)8-byte object header (4-byte SyncBlock and a 4-byte type descriptor)

    Kích thước của một chuỗi trong Python là gì?

    Để tính độ dài của một chuỗi trong Python, bạn có thể sử dụng phương thức Len () tích hợp. Nó lấy một chuỗi làm tham số và trả về một số nguyên làm độ dài của chuỗi đó. Ví dụ, Len (giáo dục của người Hồi giáo) sẽ trở lại 9 vì có 9 ký tự trong giáo dục giáo dục.use the built-in len() method. It takes a string as a parameter and returns an integer as the length of that string. For example, len(“educative”) will return 9 because there are 9 characters in “educative”.

    Một chuỗi là bao nhiêu bit?

    Thuật ngữ chuỗi bit Một byte là một chuỗi 8 bit.Một cách nhỏ gọn hơn để con người chúng ta viết ra các chuỗi bit dài là sử dụng dạng hex (hex chỉ là ký hiệu; chuỗi bit vẫn bao gồm 0 và 1 bên trong máy).Chuỗi bit được phân vùng thành các nhóm 4 bit mỗi.A byte is a string of 8 bits. A more compact way for us humans to write down long bit strings is to use hex form (hex is just notation; the bit string still consists of 0s and 1s inside the machine). The bit string is partitioned into groups of 4 bits each.

    Chuỗi byte trong Python là gì?

    Trong Python, một chuỗi byte chỉ là: một chuỗi các byte.Nó không thể đọc được con người.Dưới mui xe, mọi thứ phải được chuyển đổi thành chuỗi byte trước khi nó có thể được lưu trữ trong máy tính.Mặt khác, một chuỗi ký tự, thường chỉ được gọi là "chuỗi", là một chuỗi các ký tự.Nó là người có thể đọc được.a sequence of bytes. It isn't human-readable. Under the hood, everything must be converted to a byte string before it can be stored in a computer. On the other hand, a character string, often just called a "string", is a sequence of characters. It is human-readable.