JavaRush /Blog Java /Random-VI /Byte. Chúng ta đang đọc gì từ tập tin?
Roman
Mức độ

Byte. Chúng ta đang đọc gì từ tập tin?

Xuất bản trong nhóm
Nói chung, đây là thông tin dành cho người mới bắt đầu. Khi chủ đề đọc thông tin từ một tệp xuất hiện, câu hỏi đặt ra: nếu tệp chứa các chữ cái, thì tại sao chúng ta đọc các số từ nó dưới dạng byte và byte trong trường hợp này là gì? Byte là gì đã được viết khá tốt ở đây. Nhưng đọc xong vẫn còn thắc mắc về cơ chế chuyển chữ thành số nên tôi phải tìm hiểu sâu hơn một chút trên Internet. Vì vậy, những gì được viết dưới đây có thể được coi là một sự bổ sung. Máy tính lưu trữ mỗi tệp dưới dạng thông tin bao gồm số 0 và số 1 ở dạng nhị phân. Mỗi tệp thực sự là một tập hợp các byte nối tiếp nhau. Thông thường, có hai loại tệp thông tin: tệp văn bản và tệp nhị phân. Tệp văn bản chứa một tập hợp các ký tự có thể đọc được điển hình của con người mà chúng ta có thể mở trong bất kỳ trình soạn thảo văn bản nào. Các tệp nhị phân bao gồm các ký tự mà chúng ta không quen sử dụng trong cuộc sống hàng ngày, do đó cần có một chương trình đặc biệt để có thể đọc được chúng. Tệp văn bản bao gồm các chữ cái, số và các ký tự phổ biến khác. Các tệp như vậy có phần mở rộng .txt, .py, .csv, v.v. Khi mở một tệp như vậy, chúng ta sẽ thấy tập hợp các ký tự thông thường tạo thành từ. Mặc dù trên thực tế, nội dung này không được lưu trữ ở dạng này bên trong máy tính. Nó được lưu trữ dưới dạng bit, nghĩa là 0 hoặc 1. Trong các bảng mã hóa khác nhau, ASCII, UNICODE hoặc một số giá trị khác của mỗi ký tự được xác định ở dạng nhị phân. Theo đó, nếu một byte có thể chứa 256 ký tự thì mỗi ký tự có mã hóa nhị phân riêng gồm số 0 và số 1 (tám số 0 hoặc số 1 được viết liên tiếp cho một ký tự). Do đó, khi mở tệp, trình soạn thảo văn bản sẽ dịch từng giá trị ASCII thành một ký tự quen thuộc và hiển thị nó ở dạng thông thường. Ví dụ: ở số 65 ở dạng nhị phân của mã ASCII là 1000001, mã này sẽ được hiển thị trong tệp có chữ cái Latinh (không phải bảng chữ cái Cyrillic. Bảng chữ cái Cyrillic bắt đầu từ vị trí 192) chữ cái “A”. Nghĩa là, trong hệ thống ASCII, một byte có giá trị 1000001 tương ứng với giá trị của chữ cái Latinh “A”. Mỗi dòng của tệp có ngắt dòng riêng – EOL (Cuối dòng). Thông thường ký tự này (hai ký tự) là "\n" (giá trị nhị phân trong ASCII: 00001010). Sau khi đọc một ký tự như vậy, chương trình sẽ hiểu nó là ký tự cuối dòng và chuyển sang dòng bên dưới. Có những "ký hiệu chức năng" tương tự khác. Tệp nhị phân cũng giống như tệp văn bản, được lưu trữ dưới dạng nhị phân nhưng không được “đính kèm” vào chương trình giải mã chúng, tức là không có bảng giải mã kiểu ASCII. Về cơ bản, nội dung của các file đó là hình ảnh, âm thanh và video, lần lượt là phiên bản nén của các file khác, chẳng hạn như file tự thực thi (.exe). Con người không thể đọc được những tệp như vậy (nhị phân) theo nghĩa thông thường, vì vậy việc cố gắng mở chúng bằng các trình soạn thảo văn bản thông thường sẽ hiển thị một loạt rác khó hiểu. Theo đó, các chương trình đặc biệt được tạo ra để đọc chính xác các tệp đó. Các tệp nhị phân cũng được lưu trữ dưới dạng một chuỗi byte, nhưng trong trường hợp này, việc thay đổi dù chỉ một bit cũng có thể khiến toàn bộ tệp không thể đọc được. Bảng ký tự ASCII có thể được xem tại đây. Do đó, khi chúng ta đọc một tệp, 8 ký tự (một hoặc 0) được đọc thành biến byte, sau đó một số chương trình như Notepad có thể chuyển đổi thành các ký tự có thể đọc được. Nguồn đã giúp tôi tìm ra nó.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION