CFSDN nhấn mạnh vào việc tạo ra giá trị thông qua mã nguồn mở. Chúng tôi cam kết xây dựng một nền tảng chia sẻ tài nguyên để mọi người làm CNTT có thể tìm thấy thế giới tuyệt vời của riêng mình tại đây.
Bài đăng trên blog CFSDN này chia sẻ một cách khác để đọc và ghi tệp nhị phân bằng VBS. Bài đăng này được tác giả thu thập và sắp xếp. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.
Mặc dù phương pháp nêu trong bài viết trước là tốt, nhưng khi file quá lớn (thực ra là rất nhỏ, chỉ vài MB), mảng tương ứng cũng sẽ rất lớn, sau đó sẽ xảy ra lỗi thời gian chạy, khiến bộ nhớ bị cạn kiệt. Tôi đã bị trầm cảm trong một thời gian dài vì điều này. Gần đây, tôi tìm thấy từ khóa Baidu "một số chương trình vbs rất tinh quái" trong hồ sơ lưu lượng truy cập của blog mình (có vẻ như giới trẻ ngày nay rất thích chơi trò này), vì vậy tôi đã mở Baidu mà tôi đã lâu không thấy và tìm kiếm, và thấy rằng nó xuất hiện ở vị trí thứ ba. Thứ hai là Baidu HI, đây cũng là một chương trình chơi khăm và được mã hóa. Tôi đã cố giải mã nó, nhưng thấy rằng mã hóa này có vẻ còn biến thái hơn cả loại virus mà tôi đã giải mã vài ngày trước, nên tôi đã thất bại. Mặc dù tôi không giải mã được chương trình (nếu có chuyên gia nào có thể giải mã được, vui lòng cho tôi lời khuyên), tôi đã học được từ chương trình này một cách khác để đọc và ghi tệp nhị phân bằng VBS, cụ thể là Microsoft.XMLDOM+ADODB.Stream. Phương pháp này hiệu quả hơn nhiều so với phương pháp ban đầu và dường như không có bất kỳ giới hạn nào về kích thước tệp.
Sao chép mã như sau
Hàm ReadBinary(FileName) Const adTypeBinary = 1 Dim stream, xmldom, node Đặt xmldom = CreateObject("Microsoft.XMLDOM") Đặt node = xmldom.CreateElement("binary") node.DataType = "bin.hex" Đặt stream = CreateObject("ADODB.Stream") stream.Type = adTypeBinary stream.Open stream.LoadFromFile FileName node.NodeTypedValue = stream.Read stream.Close Đặt stream = Nothing ReadBinary = node.Text Đặt node = Nothing Đặt xmldom = Nothing Kết thúc hàm.
Hàm này lấy đối số là đường dẫn đến tệp để đọc và trả về một chuỗi chứa giá trị thập lục phân của tệp nhị phân.
Sao chép mã như sau
Sub WriteBinary(FileName, Buf) Const adTypeBinary = 1 Const adSaveCreateOverWrite = 2 Dim stream, xmldom, node Đặt xmldom = CreateObject("Microsoft.XMLDOM") Đặt node = xmldom.CreateElement("binary") node.DataType = "bin.hex" node.Text = Buf Đặt stream = CreateObject("ADODB.Stream") stream.Type = adTypeBinary stream.Open stream.write node.NodeTypedValue stream.saveToFile FileName, adSaveCreateOverWrite stream.Close Đặt stream = Nothing Đặt node = Nothing Đặt xmldom = Nothing Kết thúc Sub .
Đối số đầu tiên là đường dẫn đến tệp để đọc và đối số thứ hai là chuỗi chứa giá trị thập lục phân của tệp nhị phân. Về cách lấy giá trị thập lục phân của tệp nhị phân, có nhiều cách. Cách đơn giản nhất tất nhiên là sử dụng đối tượng fso để ghi giá trị trả về của hàm ReadBinary vào tệp văn bản, sau đó nhấn Ctrl+C, Ctrl+V. Trên thực tế, việc sử dụng các công cụ thập lục phân cũng rất đơn giản. Tôi sẽ không đi sâu vào phần còn lại. Nếu bạn không hiểu điều gì đó, chỉ cần đọc tài liệu tham khảo MSDN. Tôi đã viết một chương trình mẫu chứa tất cả dữ liệu nhạc của Castle in the Sky. Nhấp đúp vào đó để tạo tệp MP3 của Castle in the Sky trong cùng thư mục và phát nó. Văn bản gốc: http://demon.tw/programming/vbs-binary-file-another.html.
Cuối cùng, bài viết này về việc chia sẻ một phương pháp khác để đọc và ghi tệp nhị phân bằng VBS kết thúc tại đây. Nếu bạn muốn biết thêm về việc chia sẻ một phương pháp khác để đọc và ghi tệp nhị phân bằng VBS, vui lòng tìm kiếm các bài viết trên CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!