<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>微博 on 小盒子的技术分享</title><link>https://xiaobox.github.io/tags/%E5%BE%AE%E5%8D%9A/</link><description>Recent content in 微博 on 小盒子的技术分享</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Mon, 20 Jul 2026 04:00:00 +0000</lastBuildDate><atom:link href="https://xiaobox.github.io/tags/%E5%BE%AE%E5%8D%9A/index.xml" rel="self" type="application/rss+xml"/><item><title>为什么微博和 Twitter 都卡在 140 字</title><link>https://xiaobox.github.io/p/2026-07-20-wei-shen-me-wei-bo-he-twitter-dou-ka-zai-140-zi/</link><pubDate>Mon, 20 Jul 2026 04:00:00 +0000</pubDate><guid>https://xiaobox.github.io/p/2026-07-20-wei-shen-me-wei-bo-he-twitter-dou-ka-zai-140-zi/</guid><description>&lt;p&gt;你现在发微信，想写多少字写多少字，根本不会去数。&lt;/p&gt;
&lt;p&gt;但如果你用过早期的微博，或者玩过 Twitter，一定记得那个卡死人的 140 字限制。多一个字都发不出去。&lt;/p&gt;
&lt;p&gt;很多人以为这是产品经理的审美偏好，觉得短内容更精炼，更适合社交传播。&lt;/p&gt;
&lt;p&gt;想多了。140 就是一道减法。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Twitter 最早其实是个短信服务。Jack Dorsey 2006 年做它的时候，核心想法就是让人用手机短信来发状态更新。你发一条短信到一个号码，它就变成一条推文，你关注的人也能用短信收到。&lt;/p&gt;
&lt;p&gt;短信有字数上限。&lt;/p&gt;
&lt;p&gt;一条标准 SMS 的载荷是 140 个字节。用英文那套 7-bit 编码，140 字节能塞 160 个字符。这就是短信的天花板，160。&lt;/p&gt;
&lt;p&gt;Twitter 要把推文塞进这 160 个字符里面去，但光有正文不够，还得带上发送者的用户名，让收信人知道这是谁发的。用户名大约预留了 20 个字符的位置。&lt;/p&gt;
&lt;p&gt;160 减 20，剩 140。&lt;/p&gt;
&lt;p&gt;Twitter 的 140 就是这么来的。跟什么内容哲学没关系，就是一条短信的空间，扣掉名字，把剩下的都给你。Twitter 官方 FAQ 里写过这么一句，「We reserve 20 characters for people&amp;rsquo;s names, and the other 140 are all yours.」&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://xiaobox-public-images.oss-cn-beijing.aliyuncs.com/images/140-envelope-name-tag-space.png"&gt;&lt;/p&gt;
&lt;p&gt;这个 140 本来是给英文短信量身算的。后来 Twitter 从短信扩展到网页和 App，140 就跟着上了岸，变成了一条产品规定，不管你写汉字还是英文字母，每个字符都算 1 个。&lt;/p&gt;
&lt;p&gt;新浪微博 2009 年上线，直接对标 Twitter，把 140 字也搬了过来。短信管道其实根本装不下 140 个汉字，微博能发这么多，是因为 140 这个数到了产品层已经跟底层多少字节没关系了。微博抄的是 Twitter 的产品规定，不是短信的物理限制。&lt;/p&gt;
&lt;p&gt;说到这个，得把短信自己的来路也讲一下。&lt;/p&gt;
&lt;p&gt;短信这东西，一开始压根没打算让人拿来聊天。它是 1980 年代 GSM 手机网络里捎带出来的一个副产品。&lt;/p&gt;
&lt;p&gt;当时手机网络要处理通话，需要一套信令通道来做呼叫的建立和挂断。这套信令通道跑的是 SS7 协议，算是整个电话网的神经系统。有工程师发现，信令消息之间有空隙，这点空隙能捎带一小段文字。&lt;/p&gt;
&lt;p&gt;短信就这么来的。它是塞在电话信令缝隙里的，算是搭便车，从来不是主角。&lt;/p&gt;
&lt;p&gt;搭便车嘛，空间就那么大。协议给短信正文留的位置，最多 140 字节，多一个都塞不下。&lt;/p&gt;
&lt;p&gt;那 160 这个数字又是怎么定的呢。&lt;/p&gt;
&lt;p&gt;1985 年，一个叫 Friedhelm Hillebrand 的德国工程师，接到了 GSM 委员会的任务，确定短信到底该限多少字符。他在家里的书房，对着打字机敲了一堆随机的句子和日常问题，然后挨个数字符数。发现绝大多数表达都在 160 个字符以内。&lt;/p&gt;
&lt;p&gt;他又翻了一堆收到的明信片，发现上面的文字也很少超过 150 个字符。&lt;/p&gt;
&lt;p&gt;委员会一开始嫌他方法太土。他后来又搞了一轮更正式的调研，分析了大量电传（Telex）消息，结论一样。160 字符就够了。&lt;/p&gt;
&lt;p&gt;这个数字最终写进了 GSM 标准。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://xiaobox-public-images.oss-cn-beijing.aliyuncs.com/images/20260720131211720.png"&gt;&lt;/p&gt;
&lt;p&gt;这里顺便说一个可能很多人没注意过的事。微博上你能写 140 个汉字，但在真正的短信管道里，中文要用 UCS-2 编码，一个字占两个字节。140 字节除以 2，一条中文短信其实只能装 70 个字。&lt;/p&gt;
&lt;p&gt;所以早年用手机发中文短信，超过 70 个字就会被拆成好几段，运营商按段收费。你以为发了一条，账单上可能已经扣了两三条的钱。&lt;/p&gt;
&lt;p&gt;后来的事大家都知道了。Twitter 2017 年把上限放宽到 280 字符。微博也在 2016 年取消了 140 字限制。&lt;/p&gt;
&lt;p&gt;但那个数字留下的东西，比数字本身活得久。&lt;/p&gt;
&lt;p&gt;你现在收到的每一条验证码，每一条银行到账提醒，底下跑的还是那条老管道。140 字节，GSM 信令缝隙里搭便车的。&lt;/p&gt;
&lt;p&gt;你以为是产品经理在定义互联网。&lt;/p&gt;
&lt;p&gt;其实是 1985 年一个德国工程师，在家里的书房对着打字机数了一下午字符。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://xiaobox-public-images.oss-cn-beijing.aliyuncs.com/images/hillebrand-typewriter-1985.png"&gt;&lt;/p&gt;</description></item></channel></rss>