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

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



评论

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

伙计们,这可能是有用的信息,在该消息的中心,俄语中有几句话: 140непредел!用英语说的是:老百姓,不停地发消息! 140不是极限!我猜是一些俄罗斯的“操守者”吗? :-)

Twitter似乎已经修复了该错误。查看到该推文的直接链接。

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

以下评论指出问题已由twitter修复。今天我遇到了另一条非常相似的推文-twitter.com/#!/luchetti/status/177524100930084864

#1 楼

该消息包含未正确编码为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数学粗体大写字母A(𝓐)。解码,然后将结果解释为CESU-8,结果显示为:


𝓐𝓛𝓜𝓐𝓣𝓨𝓐𝓛𝓜𝓐𝓣𝓨𝓐𝓛𝓜𝓐𝓣𝓨Тввв 140непредел!=)))))𝓐𝓛𝓜𝓐𝓣𝓨br


这里是图像,对于未安装全套Unicode字体的用户而言:

评论


实际上是101个字符-做得好@ mark4o

–约尔格
2011年11月17日9:07

Twitter似乎已经修复了该错误。现在,该消息与您在答案中张贴的图像一样出现。

– Mehper C. Palavuzlar
11年11月18日在21:13

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

–盖亚
13-10-25在19:27

#2 楼

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

更新:

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

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


更新2:

他给出的解释是“ПишитевDM,всегданасвязи”) Google翻译告诉我“写到DM,始终保持连接状态”。我不确定这到底意味着什么或有什么帮助。

评论


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

– Alex
2011年11月15日15:10

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

– Mehper C. Palavuzlar
2011年11月15日15:16

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

– Ladadadada
2011-11-15 15:53

@Mehper,您不能只将其复制到鸣叫框中,因为推特会将其解释为单独的字符(“ \”,“ 3”,“ 5”,“ 5”)等。以字节而不是转义字符的形式发送“符号”。

– Tor Valamo
2011-11-15 18:46

“ПишитеDM,我的翻译是:“发送DM,我一直在那里”。

–马尔科姆
2011-12-8 20:51