Làm thế nào mà anh chàng này hack giới hạn 140 ký tự của Twitter?


36

Hôm nay tôi rất ngạc nhiên khi thấy một anh chàng đã hack giới hạn 140 ký tự của Twitter. Tin nhắn bao gồm 930 ký tự. Làm thế nào điều này có thể có thể?

Các liên kết trực tiếp đến tweet này là ở đây . Để thuận tiện, tôi đang sao chép ảnh chụp màn hình của tweet đầy đủ bên dưới:

nhập mô tả hình ảnh ở đây


1
Nó có vẻ là một mẹo hay, nhưng nó không phải là một giải pháp cho giới hạn 140 ký tự. Thật ra nó TỐT HƠN. Bởi vì mọi người sẽ nói rõ những gì họ cần nói, thay vì viết tất cả rác. :)

1
Vì vậy, các bạn, nó có thể là thông tin hữu ích, ở trung tâm của tin nhắn có tiếng rầm rộ bằng tiếng Nga: твиивввв т т г г г г г г! 140 lần sau! Mà trong tiếng Anh là: Tiếp tục twits không giới hạn, mọi người !!!!! 140 không phải là một giới hạn! Tôi đoán một số "người làm" Nga? :-)
Công nhân

Có vẻ như Twitter đã sửa lỗi đó. Kiểm tra các liên kết trực tiếp đến tweet.
Mehper C. Palavuzlar

Câu trả lời ngắn gọn: tweet có ít hơn 140 ký tự; đó chỉ là vấn đề mã hóa khiến trình duyệt của bạn hiển thị dưới dạng nhiều ký tự hơn.
ShreevatsaR

Một bình luận dưới đây vấn đề nhà nước đã được sửa chữa bởi twitter. Hôm nay tôi đã bắt gặp một tweet khác khá giống nhau - twitter.com/#!/luchetti/status/177524100930084864
Chethan S.

Câu trả lời:


41

Thông báo chứa các điểm mã thay thế Unicode được mã hóa không chính xác dưới dạng UTF-8. Loại mã hóa không phù hợp này cũng được gọi là CESU-8 . Dường như một số giao diện Twitter sẽ chấp nhận các điểm mã thay thế được mã hóa CESU-8 dưới dạng các ký tự (với mục đích giới hạn 140 ký tự), nhưng với mục đích hiển thị, nó mong đợi UTF-8 hợp lệ và đây không phải là các chuỗi UTF-8 hợp lệ. Vì vậy, nó thay vào đó hiển thị 3 byte của mỗi chuỗi này dưới dạng 3 chuỗi thoát bát phân kiểu C gồm 4 ký tự, và mỗi điểm mã thay thế kết thúc được hiển thị bằng 12 ký tự.

Ví dụ \ 355 \ 240 \ 265 \ 355 \ 263 \ 220 khi được giải mã là UTF-8 thoát C, mà không từ chối các chất thay thế như thường được thực hiện khi giải mã UTF-8, giải mã thành cặp thay thế U + D835 U + DCD0. Việc coi cặp thay thế này là UTF-16, như sẽ được thực hiện khi giải mã CESU-8, tạo ra ký tự Unicode U + 1D4D0 VẬT LIỆU BƯỚM VỐN A ().

Nếu thoát bát phân kiểu C được giải mã và sau đó kết quả được hiểu là CESU-8, thì nó xuất hiện thành:

𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨 в в в в 140 е р р р р = = = =))) 𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨

Đây là một hình ảnh, dành cho những người không cài đặt đầy đủ các phông chữ Unicode:

𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨 в в в в  140 е р р р р = = = =))) 𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨


1
thực tế 101 ký tự - công việc tốt @ mark4o
Jörg

3
Có vẻ như Twitter đã sửa lỗi đó. Bây giờ thông báo xuất hiện giống như hình ảnh bạn đã đăng trong câu trả lời của bạn.
Mehper C. Palavuzlar

Tôi vẫn thấy các ô vuông, @ MehperC.Palavuzlar. Có thể là tôi không cài đặt bất kỳ phông chữ nào với một bộ ký tự Unicode đầy đủ không?
Gaia

3

Mỗi nhóm nhân vật bắt đầu bằng dấu gạch chéo ngược và theo sau là ba số là " Chuỗi thoát ". Mỗi người trong số họ đại diện cho một nhân vật duy nhất. Chúng thường được sử dụng cho các ký tự không tồn tại trên bàn phím của bạn, chẳng hạn như các ký tự và ký hiệu không phải tiếng Anh.

Tôi đoán là khi đếm các ký tự, Twitter đang đếm từng nhóm này là một ký tự duy nhất nhưng khi hiển thị chúng lên trình duyệt thì nó sẽ in thành bốn.

Cập nhật:

Một số chuỗi thoát có sẵn là "ký tự điều khiển". Những thứ này báo cho máy tính làm một việc gì đó như phát âm thanh cảnh báo hoặc di chuyển con trỏ sang trái hoặc phải hoặc lên hoặc xuống hoặc xóa ký tự sang bên trái của con trỏ. Mặc dù không ai trong số họ là người cuối cùng tôi đề cập (xóa nhân vật trước đó), anh ta có thể đã sử dụng nhân vật đó để gây nhầm lẫn với Twitter.

Thật thú vị, khi trở lại thành các nhân vật bình thường, nó khá lặp đi lặp lại và trông giống như thế này:

í µ í ³ í µ í ³ › í µ í ³ œ í µ í ³ í µ í ³ £ í µ í ³ ¨ í µ í ³ í µ í ³ › í µ í ³ œ í µ í ³ í µ í ³ £ í µ í ³ ¨ 

Cập nhật 2:

Lời giải thích mà anh ấy đưa ra là "ииииии DM DM DM DM DM DM DM DM Tôi không chắc chính xác điều đó có nghĩa là gì hoặc nó giúp ích như thế nào.


1
Tôi cũng nghĩ về điều đó (đó là lời giải thích hợp lý nhất xuất hiện trong đầu tôi), nhưng vấn đề là có hơn 140 nhóm bốn người (140 * 4 = 560, ít hơn con số 930 mà Mepher đã nêu ).
Alex

@Alex: Đúng vậy. Tôi đã thử sao chép và dán toàn bộ tin nhắn vào một hộp tweet mới, nhưng Twitter cho biết đó là hơn 140 ký tự. Tôi cũng đã thử trong TweetDeck nhưng một lần nữa không đi.
Mehper C. Palavuzlar

Cũng phát hiện ra. Tôi đã cập nhật câu trả lời của mình nhưng tôi không thể thấy bất kỳ bằng chứng nào cho thấy bản cập nhật là những gì thực sự đã xảy ra.
Ladadadada

2
@Mehper bạn không thể sao chép nó vào hộp tweet, vì sau đó twitter sẽ diễn giải nó thành các ký tự riêng biệt ('\', '3', '5', '5'), v.v. Bạn sẽ phải tạo một tập lệnh gửi "ký hiệu" dưới dạng byte, không thoát ký tự.
Tor Valamo

"Ииииии DM DM DM DM DM DM DM DM DM DM DM DM DM DM DM DM DM DM))" có nghĩa là anh ấy mời bạn gửi cho anh ấy một tin nhắn riêng tư, anh ấy sẽ trả lời nó nhanh chóng. Bản dịch của tôi sẽ là: "Gửi DM, tôi luôn ở đó".
Malcolm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.