Chuyển trò chuyện WhatsApp sang văn bản — riêng tư và miễn phí

Chuyển cuộc trò chuyện WhatsApp đã xuất thành văn bản gọn gàng ngay trong trình duyệt. Bỏ thông báo mã hoá, tin nhắn tham gia và dòng thay cho phương tiện. Không có gì được tải lên.

Dọn sạch một cuộc trò chuyện WhatsApp đã xuất ra

WhatsApp sẽ đưa bạn cuộc trò chuyện dưới dạng một tệp văn bản, nghe như việc đã xong. Mở ra thì không phải vậy. Dòng nào cũng mang một dấu thời gian theo định dạng phụ thuộc vào chiếc máy đã tạo ra nó. Dòng đầu tiên là thông báo về mã hóa. Rải rác phần còn lại là người vào nhóm, đổi tên nhóm, dấu tin nhắn đã thu hồi, và — nếu đoạn chat có ảnh — rất nhiều dòng chỉ ghi <Media omitted> chứ không gì khác.

Trang này biến thứ đó thành một cuộc trò chuyện đọc được. Thả tệp .txt vào, hoặc thả luôn tệp .zip mà WhatsApp bọc quanh nó, và kết quả hiện ra ngay đây. Tệp được đọc trong tab trình duyệt này và không bao giờ được tải lên.

Lấy bản xuất ra khỏi WhatsApp

Trên cả iPhone lẫn Android: mở đoạn chat, chạm vào tên người hoặc tên nhóm ở trên cùng, kéo xuống Xuất cuộc trò chuyện, rồi chọn Không kèm phương tiện. Tùy chọn kèm phương tiện sẽ đính mọi ảnh và tin nhắn thoại, tạo ra một kho lớn gấp hàng trăm lần mà chẳng thêm gì cho bản ghi văn bản — phần tin nhắn thì giống nhau y hệt trong cả hai trường hợp.

Kết quả là một tệp tên _chat.txt, thường nằm trong một tệp .zip, gửi đi qua bảng chia sẻ mà bạn chọn. Cả tệp văn bản rời lẫn tệp nén đều dùng được ở đây.

Vì sao định dạng dấu thời gian mới là phần khó

Không có một định dạng xuất WhatsApp duy nhất. Có ít nhất hai hình dạng tin nhắn và một số lượng không giới hạn các kiểu ngày tháng, và bạn nhận được kiểu nào là tùy hệ điều hành cùng thiết lập vùng trên máy.

iOS ghi dấu thời gian trong ngoặc vuông: [12/03/2024, 14:23:01] Name: message. Android ghi trần trụi, ngăn với tin nhắn bằng một dấu gạch: 12/03/2024, 14:23 - Name: message. Giây có thể có hoặc không. Đồng hồ có thể là 24 giờ hoặc 12 giờ kèm AM và PM. Ngày có thể để ngày trước, tháng trước hoặc năm trước. Dấu ngăn có thể là gạch chéo, dấu chấm hoặc gạch nối.

Bộ phân tích nhận cả hai hình dạng tin nhắn và khớp phần ngày một cách lỏng, bắt lấy dấu thời gian mà không cố diễn giải nó thành một ngày trên lịch. Quyết định cuối cùng đó là cố ý: 03/12/2024 là mùng ba tháng Mười Hai với phần lớn thế giới và là mười hai tháng Ba ở Mỹ, mà trong tệp chẳng có gì nói cho biết là kiểu nào. Đoán bừa thì sẽ âm thầm ghi sai ngày cho một nửa số bản ghi của mọi người. Chuỗi gốc được hiện đúng như WhatsApp đã ghi, và với người từng ở trong cuộc trò chuyện thì nó không hề mơ hồ.

Tin nhắn nhiều dòng

Một tin nhắn có xuống dòng bên trong — một danh sách, một địa chỉ, một đoạn dài ai đó ngắt ra — xuất hiện trong bản xuất dưới dạng một dòng có dấu thời gian, rồi các dòng tiếp theo không dấu thời gian và không dấu hiệu nào. Không có ký tự ngăn cách. Tín hiệu duy nhất là sự vắng mặt của dấu thời gian.

Vì thế mọi dòng không mở đầu bằng một dấu thời gian nhận ra được đều bị gắn vào tin nhắn ngay phía trên. Đây mới là cách đọc đúng, và nó giải thích một kiểu hỏng mà có thể bạn đã gặp ở những script đơn giản hơn: tách tệp theo ký tự xuống dòng thì bạn có một mớ mảnh vụn mồ côi không thuộc về ai, với địa chỉ và danh sách rải rác khắp bản ghi như thể chúng là những tin nhắn riêng.

Bộ lọc gỡ những gì

Mặc định, hai nhóm bị gỡ, và các công tắc mang từng nhóm trở lại:

  • Thông báo hệ thống. Dòng thông báo mã hóa ở đầu tệp, “X đã thêm Y”, “X đã rời khỏi nhóm”, “Bạn đã thu hồi tin nhắn này”, đổi tên và ảnh nhóm, thông báo mã bảo mật, ghi nhận cuộc gọi nhỡ. Trong một nhóm sôi động, số này có thể nhiều hơn hẳn tin nhắn thật.
  • Chỗ đánh dấu phương tiện. <Media omitted>, các biến thể đã bản địa hóa kiểu “image omitted” và “audio omitted”, cùng hậu tố (file attached). Trong một đoạn chat mà người ta chủ yếu gửi ảnh, đây là phần lớn số dòng và không dòng nào mang nội dung.

Hãy giữ các dòng phương tiện nếu điều bạn quan tâm chính là nhịp gửi, ai gửi gì vào lúc nào. Hãy giữ thông báo hệ thống nếu bạn cần biết ai vào nhóm và vào lúc nào. Còn lại thì cả hai đều là nhiễu, và gỡ chúng đi thường làm tệp ngắn đi một nửa.

Người ta dùng cái này để làm gì

Giữ một bản sao cuộc trò chuyện trước khi rời nhóm hoặc đổi máy. Chuẩn bị một đoạn chat làm bằng chứng, nơi một bản ghi sạch và dễ đọc có ích hơn nhiều so với nhật ký thô. Đưa một luồng dài cho mô hình để tóm tắt một quyết định đã chốt đâu đó giữa ba trăm tin nhắn. Lục nhiều năm tin nhắn để tìm một chi tiết không ai ghi lại ở chỗ nào khác. Biến lịch sử của một nhóm gia đình thành thứ in ra được.

Chuyện riêng tư ở đây không phải để trang trí

Tin nhắn WhatsApp được mã hóa đầu cuối trên đường truyền. Ngay khoảnh khắc bạn xuất một đoạn chat ra, lớp bảo vệ đó chấm dứt: tệp nằm trên máy bạn là văn bản thuần, đọc được bởi bất cứ thứ gì bạn đưa nó cho. Tải nó lên một trang chuyển đổi nào đó là phá bỏ toàn bộ ý nghĩa của lớp mã hóa đã đưa nó tới đây.

Ở đây không có gì được tải lên. Bộ phân tích là JavaScript chạy trong tab này; bản xuất của bạn được trình duyệt đọc, chuyển đổi trong bộ nhớ, rồi hiện ra. Không máy chủ nào nhìn thấy nó, nên không có chính sách lưu trữ nào phải đọc và không có yêu cầu xóa nào phải gửi. Đóng tab là xong.

Bản xuất từ nền tảng khác thì dùng trang xuất chat tổng hợp, nơi định dạng được nhận ra tự động.