这个人是如何破解Twitter的140个字符的限制的?


36

今天,我很惊讶地看到一个人入侵了Twitter的140个字符的限制。该消息包含930个字符。这怎么可能呢?

到此推文的直接链接在这里。为了方便起见,我在下面复制了完整推文的屏幕截图:

在此处输入图片说明


1
这似乎是一个很酷的技巧,但它不能解决140个字符的限制。其实更好。因为人们会清楚地说出他们需要说的话,而不是写下所有垃圾。:)

1
伙计们,这可能是有用的信息,在该消息的中心,俄语中有几句话:Твиттиминеограничиваемсялюдиии!!!!!!!!! 140непредел!用英语说的是:老百姓,不停地发消息!140不是极限!我猜是一些俄罗斯的“操守者”吗?:-)
工作者

Twitter似乎已经修复了该错误。查看到该推文的直接链接。
Mehper C. Palavuzlar 2011年

简短的答案:该推文少于140个字符;这只是一个编码问题,导致您的浏览器将其显示为更多字符。
ShreevatsaR 2011年

以下评论指出问题已由twitter修复。-今天我碰到另一个鸣叫颇为相似来到twitter.com/#!/luchetti/status/177524100930084864
Chethan S.

Answers:


41

该消息包含未正确编码为UTF-8的Unicode代理代码点。这种不正确的编码也称为CESU-8。似乎某些Twitter界面将接受CESU-8编码的替代代码点作为字符(出于140个字符限制的目的),但是出于显示目的,它期望有效的UTF-8且这些无效的UTF-8序列。因此,它将每个序列的3个字节显示为3个C样式的八进制转义序列,每个序列4个字符,并且每个替代代码点最终使用12个字符显示。

例如,如果将\ 355 \ 240 \ 265 \ 355 \ 263 \ 220解码为C换码的UTF-8,而不会像在解码UTF-8时那样正常地拒绝替代,则解码为代理对U + D835 U + DCD0。像解码CESU-8一样,将这对代理对视为UTF-16,会产生Unicode字符U + 1D4D0 MATHEMATICAL BOLD SCRIPT CAPITAL A(𝓐)。

如果对C样式的八进制转义进行了解码,然后将结果解释为CESU-8,则会得出:

Т𝓐𝓛𝓜𝓐𝓣𝓨Твиттиминеограничиваемсялюдиии!!!!!! 140непредел!=))))𝓐𝓛𝓜𝓐𝓣𝓨𝓐𝓛𝓜𝓐𝓣𝓨𝓐𝓛𝓜𝓐𝓣𝓨

对于没有安装全套Unicode字体的用户,这是一个图像:

Т𝓐𝓛𝓜𝓐𝓣𝓨Твиттиминеограничиваемсялюдиии!!!!!!  140непредел!=))))𝓐𝓛𝓜𝓐𝓣𝓨𝓐𝓛𝓜𝓐𝓣𝓨𝓐𝓛𝓜𝓐𝓣𝓨


1
实际上101字-好@ mark4o
约尔格

3
Twitter似乎已经修复了该错误。现在,该消息将与您在答案中发布的图像一样显示。
Mehper C. Palavuzlar 2011年

我仍然看到方形框@ MehperC.Palavuzlar。我可能没有安装带有全套Unicode字符的任何字体吗?
盖亚

3

每组以反斜杠开头,后跟三个数字的字符是“ 转义序列 ”。它们每个代表一个字符。这些通常用于键盘上不存在的字符,例如非英语字符和符号。

我的猜测是,在计算字符时,Twitter将这些组中的每一个都计数为一个字符,但是在将其显示给浏览器时,会将它们打印为四个。

更新:

一些可用的转义序列是“控制字符”。这些命令告诉计算机执行某些操作,例如播放警报声音或向左或向右或向上或向下移动光标,或删除光标左侧的字符。尽管它们都不是我提到的最后一个(删除前一个字符),但他可能也使用该字符来混淆Twitter。

有趣的是,当变回普通字符时,它是重复性的,看起来像这样:

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

更新2:

他给出的解释是“ПишитеDM,”。Google Translate告诉我的解释是“写至DM,始终保持连接状态”。我不确定这到底意味着什么或如何帮助。


1
我也想到了这一点(这是我想到的最合理的解释),但是问题在于,四组中有140多个组(140 * 4 = 560,这比Mepher所说的930个计数还少) )。
亚历克斯

@Alex:是的。我尝试将整个消息复制并粘贴到新的tweet框中,但是Twitter表示它超过140个字符。我也在TweetDeck中尝试过,但再次失败了。
Mehper C. Palavuzlar 2011年

好眼力。我已经更新了答案,但是看不到任何证据表明更新实际上是发生了什么。
Ladadadada 2011年

2
@Mehper,您不能只将其复制到鸣叫框中,因为推特会将其解释为单独的字符(“ \”,“ 3”,“ 5”,“ 5”)等。您必须创建一个脚本以字节而不是转义字符的形式发送“符号”。
Tor Valamo 2011年

“ПишитевDM,всегданасвязи””表示他邀请您向他发送私人消息,他会迅速对此进行回复。我的翻译是:“发送DM,我一直在那里”。
马尔科姆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.