Hướng dẫn read binary file and convert to text python - đọc tệp nhị phân và chuyển đổi sang văn bản python

4

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.

Tôi muốn chuyển đổi một tệp bin thành tệp txt trong python.

with open("atb.bin", "rb") as file:

     data = file.read(8)

datastring = str(data)

print(datastring)
print(' '.join(str(ord(c)) for c in datastring))

Đầu ra tôi nhận được là

b'\x14\x12\x1c\x1a#\x00-d'
98 39 92 120 49 52 92 120 49 50 92 120 49 99 92 120 49 97 35 92 120 48 48 45 100 39

Bây giờ, làm cách nào để chuyển đổi nó thành thập phân và lưu trữ trong tệp TXT?

Hướng dẫn read binary file and convert to text python - đọc tệp nhị phân và chuyển đổi sang văn bản python

Hỏi ngày 5 tháng 4 năm 2018 lúc 15:21Apr 5, 2018 at 15:21

3

Sai lầm chính của bạn là:

datastring = str(data)

Khi nó chuyển đổi biểu diễn của đối tượng

datastring = str(data)
1 thành chuỗi, với tiền tố
datastring = str(data)
2 và trích dẫn, và thoát ... sai.

Đọc tệp của bạn như bạn đang làm:

with open("atb.bin", "rb") as file:
     data = file.read(8)

Bây giờ

datastring = str(data)
1 là một đối tượng
datastring = str(data)
4, không cần
datastring = str(data)
5 trong Python 3, các giá trị đã được số nguyên. Bây giờ hãy mở một tệp văn bản và đổ các giá trị (chuyển đổi số nguyên thành chuỗi, thập phân):

with open("out.txt", "w") as f:
   f.write(" ".join(map(str,data))):
   f.write("\n")

Trong Python 2, bạn cần phải lấy mã ký tự sau đó chuyển đổi thành chuỗi:

   f.write(" ".join([str(ord(c)) for c in data]))

Đã trả lời ngày 5 tháng 4 năm 2018 lúc 15:28Apr 5, 2018 at 15:28

Hướng dẫn read binary file and convert to text python - đọc tệp nhị phân và chuyển đổi sang văn bản python

0

Python của bạn chuyển đổi thành văn bản, biểu diễn văn bản của 8 ký tự trong tệp.

Do đó, thay vì

print(' '.join(str(ord(c)) for c in datastring))

Bạn nên đặt

print(' '.join(str(ord(c)) for c in data))

mà sau đó bạn có thể viết vào một tệp bằng các kỹ thuật tiêu chuẩn.

I E. (Python 2)

>>> data=b'\x14\x12\x1c\x1a#\x00-d'
>>> print(' '.join(str(ord(c)) for c in data))
20 18 28 26 35 0 45 100

(Python 3)

>>> data=b'\x14\x12\x1c\x1a#\x00-d'
>>> print(' '.join(str(c) for c in data))
20 18 28 26 35 0 45 100

Đã trả lời ngày 5 tháng 4 năm 2018 lúc 15:32Apr 5, 2018 at 15:32

MikewmikewMikeW

4.9621 Huy hiệu vàng33 Huy hiệu bạc28 Huy hiệu đồng1 gold badge33 silver badges28 bronze badges

1

Bước 4: Sao chép văn bản đầu ra hoặc tải xuống ..how to read a binary file in python, and also we will cover these topics:

  • Làm cách nào để đọc một tệp nhị phân trong Python?
  • Hàm Open () mở một tệp ở định dạng văn bản theo mặc định. Để mở một tệp ở định dạng nhị phân, thêm 'B' vào tham số chế độ. Do đó, chế độ "RB" mở tệp ở định dạng nhị phân để đọc, trong khi chế độ "WB" mở tệp ở định dạng nhị phân để viết. Không giống như các tệp văn bản, các tệp nhị phân không thể đọc được của con người.
  • Làm thế nào để bạn chuyển đổi nhị phân thành dữ liệu trong Python?
  • Python Chọn từ danh sách + ví dụ
  • Liên minh các bộ Python + ví dụ
  • Giới thiệu về Giao diện Python

  • Cách chuyển đổi chuỗi thành DateTime trong Python
  • Python yêu cầu đầu vào của người dùng (ví dụ)
  • Cách chuyển đổi chuỗi python thành mảng byte với các ví dụ
  • Python vượt qua bằng cách tham chiếu hoặc giá trị với các ví dụ
  • Python Chọn từ danh sách + ví dụ
  • Python đọc một tệp nhị phân vào một mảng numpy
  • Python đọc một tệp nhị phân vào CSV

Liên minh các bộ Python + ví dụ how to read a binary file in Python.

  • Giới thiệu về Giao diện Pythonfile = open(“document.bin”,”wb”) and used the “wb” mode to write the binary file.
  • Cách chuyển đổi chuỗi thành DateTime trong Pythondocument.bin is the name of the file.
  • Danh sách Python Hiểu bằng cách sử dụng IF-Else“This is good”, To decode the sentence, I have used sentence = bytearray(“This is good”.encode(“ascii”)).
  • Và để viết câu trong tệp, tôi đã sử dụng phương thức file.write ().file.write() method.
  • Write () được sử dụng để viết văn bản được chỉ định vào tệp. Và sau đó để đóng tệp, tôi đã sử dụng tệp.close ().write() is used to write the specified text to the file. And then to close the file, I have used the file.close().

Ví dụ để viết tệp:

b'\x14\x12\x1c\x1a#\x00-d'
98 39 92 120 49 52 92 120 49 50 92 120 49 99 92 120 49 97 35 92 120 48 48 45 100 39
0
  • Để đọc tệp, tôi đã lấy tài liệu tệp đã được tạo.bin và sử dụng chế độ RB RB để đọc tệp nhị phân.document.bin and used the “rb” mode to read the binary file.
  • Tài liệu.bin là tên tệp. Và, tôi đã sử dụng phương thức Read (). Phương thức Read () trả về số byte được chỉ định từ tệp.document.bin is the file name. And, I have using the read() method. The read() method returns the specified number of bytes from the file.

Ví dụ để đọc tệp:

b'\x14\x12\x1c\x1a#\x00-d'
98 39 92 120 49 52 92 120 49 50 92 120 49 99 92 120 49 97 35 92 120 48 48 45 100 39
1

Trong đầu ra này, bạn có thể thấy rằng tôi đã sử dụng in (file.read (4)). Ở đây, từ câu, nó sẽ chỉ đọc bốn từ. Như thể hiện trong đầu ra.print(file.read(4)). Here, from the sentence, it will read only four words. As shown in the output.

Hướng dẫn read binary file and convert to text python - đọc tệp nhị phân và chuyển đổi sang văn bản python
Python đọc một tệp nhị phân

Bạn có thể thích hướng dẫn và tập tin Python Pandas CSV không tồn tại Python.

Python đọc một tệp nhị phân vào một mảng

Ở đây, chúng ta có thể thấy cách đọc một tệp nhị phân đến một mảng trong Python.how to read a binary file to an array in Python.

  • Trong ví dụ này, tôi đã mở một tệp dưới dạng mảng.bin và sử dụng chế độ WB WB để viết tệp thebinary. Mảng.bin là tên của tệp. array.bin and used the “wb” mode to write thebinary file. The array.bin is the name of the file.
  • Và được gán một mảng là num = [2,4,6,8,10] để có được mảng ở định dạng chuyển đổi byte, tôi đã sử dụng bytearray (). Phương thức bytearray () trả về các đối tượng mảng byte. num=[2,4,6,8,10] to get the array in byte converted format, I have used bytearray(). The bytearray() method returns the byte array objects.
  • Để ghi mảng trong tệp, tôi đã sử dụng file.write (). Và file.close () để đóng tệp.file.write(). And file.close() to close the file.

Ví dụ để viết một mảng vào tệp:

b'\x14\x12\x1c\x1a#\x00-d'
98 39 92 120 49 52 92 120 49 50 92 120 49 99 92 120 49 97 35 92 120 48 48 45 100 39
2
  • Để đọc mảng bằng văn bản từ tệp, tôi đã sử dụng cùng một tệp i.e, file = open (mảng mảng.bin, rb RB).file=open(“array.bin”,”rb”).
  • Chế độ RB RB được sử dụng để đọc mảng từ tệp.
  • Hàm danh sách () được sử dụng để tạo danh sách số đối tượng = list (file.read (3)). Tệp.read () được sử dụng để đọc các byte từ tệp. number=list(file.read(3)). The file.read() is used to read the bytes from the file.
  • Tệp.read (3) được sử dụng để đọc ba số từ mảng. Tệp.close () được sử dụng để đóng tệp.file.close() is used to close the file.

Ví dụ để đọc một mảng từ tệp:

b'\x14\x12\x1c\x1a#\x00-d'
98 39 92 120 49 52 92 120 49 50 92 120 49 99 92 120 49 97 35 92 120 48 48 45 100 39
3

Để có được đầu ra, tôi đã sử dụng in (số). Và để đóng tệp, tôi đã sử dụng file.close (). Trong ảnh chụp màn hình dưới đây, bạn có thể thấy đầu ra.print(number). And to close the file, I have used file.close(). In the below screenshot you can see the output.

Hướng dẫn read binary file and convert to text python - đọc tệp nhị phân và chuyển đổi sang văn bản python
Python đọc một tệp nhị phân vào một mảng
  • Ở đây, chúng ta có thể thấy cách đọc một tệp nhị phân đến một mảng trong Python.
  • Trong ví dụ này, tôi đã mở một tệp dưới dạng mảng.bin và sử dụng chế độ WB WB để viết tệp thebinary. Mảng.bin là tên của tệp.
  • Và được gán một mảng là num = [2,4,6,8,10] để có được mảng ở định dạng chuyển đổi byte, tôi đã sử dụng bytearray (). Phương thức bytearray () trả về các đối tượng mảng byte.

Để ghi mảng trong tệp, tôi đã sử dụng file.write (). Và file.close () để đóng tệp.

Ví dụ để viết một mảng vào tệp:how to read a binary file into a byte array in Python.

  • Để đọc mảng bằng văn bản từ tệp, tôi đã sử dụng cùng một tệp i.e, file = open (mảng mảng.bin, rb RB).sonu.bin and “rb” mode is used to read a binary file, and sonu.bin is the name of the file. Here, I have stored some data in the sonu.bin file.
  • Chế độ RB RB được sử dụng để đọc mảng từ tệp. byte = file.read(3) is used to read the file, and file.read(3) is used to read only 3 bytes from the file.
  • Hàm danh sách () được sử dụng để tạo danh sách số đối tượng = list (file.read (3)). Tệp.read () được sử dụng để đọc các byte từ tệp.

Example:

b'\x14\x12\x1c\x1a#\x00-d'
98 39 92 120 49 52 92 120 49 50 92 120 49 99 92 120 49 97 35 92 120 48 48 45 100 39
4

Tệp.read (3) được sử dụng để đọc ba số từ mảng. Tệp.close () được sử dụng để đóng tệp.print(byte). You can refer to the below screenshot for the output.

Hướng dẫn read binary file and convert to text python - đọc tệp nhị phân và chuyển đổi sang văn bản python
Để ghi mảng trong tệp, tôi đã sử dụng file.write (). Và file.close () để đóng tệp.

Ví dụ để viết một mảng vào tệp:

Để đọc mảng bằng văn bản từ tệp, tôi đã sử dụng cùng một tệp i.e, file = open (mảng mảng.bin, rb RB).how to read a binary file line by line in Python.

  • Chế độ RB RB được sử dụng để đọc mảng từ tệp. lines=[“Welcome to python guides\n”] and open a file named as file=open(“document1.txt”,”wb”) document1.txt is the filename.
  • Hàm danh sách () được sử dụng để tạo danh sách số đối tượng = list (file.read (3)). Tệp.read () được sử dụng để đọc các byte từ tệp. “wb” is the mode used to write the binary files. The file.writelines(lines) is used to write the lines from the file.
  • Tệp.read (3) được sử dụng để đọc ba số từ mảng. Tệp.close () được sử dụng để đóng tệp. writelines() returns the sequence of string to the file. The file.close() method is used to close the file.

Ví dụ để viết tệp:

b'\x14\x12\x1c\x1a#\x00-d'
98 39 92 120 49 52 92 120 49 50 92 120 49 99 92 120 49 97 35 92 120 48 48 45 100 39
5
  • Ví dụ để đọc một mảng từ tệp:file=open(“document1.txt”,”rb”) to open the file, “rb” mode is used to read the binary file and, To read the line from the file I have used line=file.readline().
  • Để có được đầu ra, tôi đã sử dụng in (số). Và để đóng tệp, tôi đã sử dụng file.close (). Trong ảnh chụp màn hình dưới đây, bạn có thể thấy đầu ra.readline() returns one line from the file.

Ví dụ để đọc tệp:

b'\x14\x12\x1c\x1a#\x00-d'
98 39 92 120 49 52 92 120 49 50 92 120 49 99 92 120 49 97 35 92 120 48 48 45 100 39
6

Trong đầu ra này, bạn có thể thấy rằng tôi đã sử dụng in (file.read (4)). Ở đây, từ câu, nó sẽ chỉ đọc bốn từ. Như thể hiện trong đầu ra.print(line) is used and lastly to close the file, I have used file.close().

Hướng dẫn read binary file and convert to text python - đọc tệp nhị phân và chuyển đổi sang văn bản python
Ví dụ để viết một mảng vào tệp:

Để đọc mảng bằng văn bản từ tệp, tôi đã sử dụng cùng một tệp i.e, file = open (mảng mảng.bin, rb RB).

Chế độ RB RB được sử dụng để đọc mảng từ tệp.how to read a binary file to Ascii in Python.

  • Hàm danh sách () được sử dụng để tạo danh sách số đối tượng = list (file.read (3)). Tệp.read () được sử dụng để đọc các byte từ tệp.test.bin using file = open(‘test.bin’, ‘wb’), The ‘wb’ mode is used to write the binary file and I have taken a variable as a sentence and assigned a sentence = ‘Hello Python’. To encode the sentence.
  • Tệp.read (3) được sử dụng để đọc ba số từ mảng. Tệp.close () được sử dụng để đóng tệp.file_encode = sentence.encode(‘ASCII’). To write the encoded sentence in the file, I have used the file.write(file_encode).
  • Ví dụ để đọc một mảng từ tệp: file.seek() method returns the new position. To read the written file, I have used the file.read() which returns a byte from the file.
  • Để có được đầu ra, tôi đã sử dụng in (số). Và để đóng tệp, tôi đã sử dụng file.close (). Trong ảnh chụp màn hình dưới đây, bạn có thể thấy đầu ra. binary sentence into Ascii, I have used new_sentence = bdata. decode(‘ASCII’).

Example:

b'\x14\x12\x1c\x1a#\x00-d'
98 39 92 120 49 52 92 120 49 50 92 120 49 99 92 120 49 97 35 92 120 48 48 45 100 39
7

Cách chuyển đổi chuỗi python thành mảng byte với các ví dụprint(‘ASCII sentence’, new_sentence). You can refer to the below screenshot for the output.

Hướng dẫn read binary file and convert to text python - đọc tệp nhị phân và chuyển đổi sang văn bản python
Python đọc một tệp nhị phân để ASCII

Python đọc một tệp nhị phân vào một mảng numpy

Ở đây, chúng ta có thể thấy cách đọc một tệp nhị phân vào một mảng numpy trong Python.how to read a binary file into a numpy array in Python.

  • Trong ví dụ này, tôi đã nhập một mô -đun gọi là Numpy. Mảng = np.array ([2,8,7]) được sử dụng để tạo một mảng, .tofile được sử dụng để viết tất cả các mảng vào tệp. Mảng.bin là tên của tệp nhị phân.array = np.array([2,8,7]) is used to create an array, The .tofile is used to write all the array to the file. The array.bin is the name of the binary file.
  • NP.FromFile được sử dụng để xây dựng một mảng từ dữ liệu trong tệp. DTYPE = np.int8 là đối tượng kiểu dữ liệu. Đầu ra của mảng thay đổi nếu chúng ta thay đổi np.int8 thành int32 hoặc int64.np.fromfile is used to construct an array from the data in the file. The dtype=np.int8 is the datatype object. The output of the array changes if we change np.int8 to int32 or int64.

Example:

b'\x14\x12\x1c\x1a#\x00-d'
98 39 92 120 49 52 92 120 49 50 92 120 49 99 92 120 49 97 35 92 120 48 48 45 100 39
8

Để có được đầu ra, tôi đã sử dụng in (np.fromfile (mảng mảng.bin, dtype = np.int8)). Ảnh chụp màn hình dưới đây cho thấy đầu ra.print(np.fromfile(“array.bin”, dtype=np.int8)). The below screenshot shows the output.

Hướng dẫn read binary file and convert to text python - đọc tệp nhị phân và chuyển đổi sang văn bản python
Python đọc một tệp nhị phân vào một mảng numpy

Ở đây, chúng ta có thể thấy cách đọc một tệp nhị phân vào một mảng numpy trong Python.

Trong ví dụ này, tôi đã nhập một mô -đun gọi là Numpy. Mảng = np.array ([2,8,7]) được sử dụng để tạo một mảng, .tofile được sử dụng để viết tất cả các mảng vào tệp. Mảng.bin là tên của tệp nhị phân.how to read binary file into csv in Python.

  • NP.FromFile được sử dụng để xây dựng một mảng từ dữ liệu trong tệp. DTYPE = np.int8 là đối tượng kiểu dữ liệu. Đầu ra của mảng thay đổi nếu chúng ta thay đổi np.int8 thành int32 hoặc int64.module called CSV. The CSV module is a comma-separated value module. It is used to read and write tabular data in CSV format.
  • Để có được đầu ra, tôi đã sử dụng in (np.fromfile (mảng mảng.bin, dtype = np.int8)). Ảnh chụp màn hình dưới đây cho thấy đầu ra.lock.bin and “w” mode is used to write the file writer = csv.writer(f) is used to write the objects in the file. The lock.bin is the name of the file.
  • Python đọc một tệp nhị phân vào CSVwriter() returns the write object which converts data into a string.
  • Ở đây, chúng ta có thể thấy cách đọc tệp nhị phân vào CSV trong Python.writer.writerows is used to write all the rows into the file. To close the file, f.close() is used.

Trong ví dụ này, tôi đã nhập một mô -đun gọi là CSV. Mô-đun CSV là mô-đun giá trị phân tách bằng dấu phẩy. Nó được sử dụng để đọc và ghi dữ liệu bảng theo định dạng CSV.

b'\x14\x12\x1c\x1a#\x00-d'
98 39 92 120 49 52 92 120 49 50 92 120 49 99 92 120 49 97 35 92 120 48 48 45 100 39
9

Tôi đã mở một tệp có tên Lock.Bin và Chế độ W W được sử dụng để viết tệp Writer = csv.Writer (f) được sử dụng để viết các đối tượng trong tệp. Khóa.bin là tên của tệp. CSV file, I have opened the file lock.bin in which data is already written, The ‘r‘ mode is used to read the file. To read the CSV file, I have used reader = csv.reader(file) to return a list of rows from the file.

Người viết () trả về đối tượng ghi chuyển đổi dữ liệu thành một chuỗi.

datastring = str(data)
0

Writer.Writerows được sử dụng để viết tất cả các hàng vào tệp. Để đóng tệp, f.close () được sử dụng. print(row). The below screenshot shows the output.

Hướng dẫn read binary file and convert to text python - đọc tệp nhị phân và chuyển đổi sang văn bản python
Ở đây, chúng ta có thể thấy cách đọc một tệp nhị phân vào một mảng numpy trong Python.

Trong ví dụ này, tôi đã nhập một mô -đun gọi là Numpy. Mảng = np.array ([2,8,7]) được sử dụng để tạo một mảng, .tofile được sử dụng để viết tất cả các mảng vào tệp. Mảng.bin là tên của tệp nhị phân.

  • NP.FromFile được sử dụng để xây dựng một mảng từ dữ liệu trong tệp. DTYPE = np.int8 là đối tượng kiểu dữ liệu. Đầu ra của mảng thay đổi nếu chúng ta thay đổi np.int8 thành int32 hoặc int64.
  • Để có được đầu ra, tôi đã sử dụng in (np.fromfile (mảng mảng.bin, dtype = np.int8)). Ảnh chụp màn hình dưới đây cho thấy đầu ra.
  • Python đọc một tệp nhị phân vào CSV
  • Ở đây, chúng ta có thể thấy cách đọc tệp nhị phân vào CSV trong Python.
  • Trong ví dụ này, tôi đã nhập một mô -đun gọi là CSV. Mô-đun CSV là mô-đun giá trị phân tách bằng dấu phẩy. Nó được sử dụng để đọc và ghi dữ liệu bảng theo định dạng CSV.
  • Tôi đã mở một tệp có tên Lock.Bin và Chế độ W W được sử dụng để viết tệp Writer = csv.Writer (f) được sử dụng để viết các đối tượng trong tệp. Khóa.bin là tên của tệp.
  • Người viết () trả về đối tượng ghi chuyển đổi dữ liệu thành một chuỗi.
  • Writer.Writerows được sử dụng để viết tất cả các hàng vào tệp. Để đóng tệp, f.close () được sử dụng.
  • Ví dụ để viết tệp CSV:

Để đọc tệp CSV, tôi đã mở tệp khóa.bin trong đó dữ liệu đã được viết, chế độ ‘R‘ được sử dụng để đọc tệp. Để đọc tệp CSV, tôi đã sử dụng Reader = csv.Reader (tệp) để trả lại danh sách các hàng từ tệp. Python read a binary file, also we have covered these topics:

  • Ví dụ để đọc tệp CSV:
  • Để có được đầu ra, tôi đã sử dụng in (hàng). Ảnh chụp màn hình dưới đây cho thấy đầu ra.
  • Bạn có thể thích các hướng dẫn Python sau:
  • Python đọc một tệp nhị phân để ASCII
  • Python đọc một tệp nhị phân vào một mảng numpy
  • Ở đây, chúng ta có thể thấy cách đọc một tệp nhị phân vào một mảng numpy trong Python.

Hướng dẫn read binary file and convert to text python - đọc tệp nhị phân và chuyển đổi sang văn bản python

Trong ví dụ này, tôi đã nhập một mô -đun gọi là Numpy. Mảng = np.array ([2,8,7]) được sử dụng để tạo một mảng, .tofile được sử dụng để viết tất cả các mảng vào tệp. Mảng.bin là tên của tệp nhị phân.

Làm cách nào để chuyển đổi tệp nhị phân thành văn bản?

Làm thế nào để sử dụng Trình dịch mã nhị phân ?..
Bước 1: Dán mã nhị phân vào hộp bạn muốn chuyển đổi thành văn bản thuần túy. ....
Bước 2: Nhấp vào nút Chuyển đổi trực tuyến để chuyển đổi ..
Bước 3: Văn bản đồng bằng được chuyển đổi sẽ xuất hiện trong hộp bên phải ngay lập tức ..
Bước 4: Sao chép văn bản đầu ra hoặc tải xuống ..

Làm cách nào để đọc một tệp nhị phân trong Python?

Hàm Open () mở một tệp ở định dạng văn bản theo mặc định.Để mở một tệp ở định dạng nhị phân, thêm 'B' vào tham số chế độ.Do đó, chế độ "RB" mở tệp ở định dạng nhị phân để đọc, trong khi chế độ "WB" mở tệp ở định dạng nhị phân để viết.Không giống như các tệp văn bản, các tệp nhị phân không thể đọc được của con người.add 'b' to the mode parameter. Hence the "rb" mode opens the file in binary format for reading, while the "wb" mode opens the file in binary format for writing. Unlike text files, binary files are not human-readable.

Làm thế nào để bạn chuyển đổi nhị phân thành dữ liệu trong Python?

Các tệp nhị phân có thể bao gồm từ các tệp hình ảnh như JPEG hoặc GIF, tệp âm thanh như mp3 hoặc định dạng tài liệu nhị phân như Word hoặc PDF.Trong Python, các tệp được mở ở chế độ văn bản theo mặc định.Để mở các tệp ở chế độ nhị phân, khi chỉ định chế độ, hãy thêm 'B' vào nó.To open files in binary mode, when specifying a mode, add 'b' to it.

Làm cách nào để đọc một tệp nhị phân?

Để đọc từ một tập tin nhị phân..
Sử dụng phương thức ReadallBytes, trả về nội dung của tệp dưới dạng mảng byte.Ví dụ này đọc từ tệp c:/tài liệu và cài đặt/selfportrait.....
Đối với các tệp nhị phân lớn, bạn có thể sử dụng phương thức đọc của đối tượng FileStream để đọc từ tệp chỉ một số lượng được chỉ định tại một thời điểm ..