Why Text Messages are limited to 160 Characters

Posted by CodeBubba on May 05, 2009

closeThis post was published 5 years 7 months 17 days ago which may make its actuality or expire date not be valid anymore. This site is not responsible for any misunderstanding.

image image

I always wondered this myself.  I had certain ideas like maybe 160 out of 255 characters in an Ethernet Packet or some other method of squeezing the data in.  Turns out that my thoughts on that were not all that far-fetched…

Looking for a data pipeline that would fit these micro messages, Hillebrand came up with the idea to harness a secondary radio channel that already existed on mobile networks. This smaller data lane had been used only to alert a cell phone about reception strength and to supply it with bits of information regarding incoming calls. Voice communication itself had taken place via a separate signal.

Read the rest of the article here or click on the image above.

-CB

CodeBubba (18 Posts) - Website | Twitter | Facebook


Software Developer for 30+ years. Pocket Device (Palm, Pocket PC) for 10+ years Private Pilot

ADVERTISEMENT

  • srvctec

    Very interesting! I've always wondered this myself, but never got around to checking into it.

    Here's a question for you- why in the world did Twitter decide on a limit of 140 characters when the devices used to make that message, i.e. cell phone text messages, have a limit of 160 characters? I just don't get it.

    Just an FYI- I had to use IE to log in here, since Firefox 3.0.10 wouldn't ever show me as logged in even though I tried it 4 or 5 times- just kept taking me back to the log in screen.

  • http://twitter.com/mobilitysite/status/1712871730 mobilitysite

    Why Text Messages are limited to 160 Characters http://tinyurl.com/cr9d2x

  • CodeBubba

    srvctec,

    My guess is that Twitter decided to allow for the extended character set. Notice that in the article he described how they got it up to 160-characters, they went with a 7-bit character set instead of 8-bit. An 8-bit character set can display 255 different characters whereas a 7-bit one is limited to 128. By doing the 7-bit characters, they can be bit-encoded (Multiplexed) for transmission and De-Multiplexed (unpacked) at the receiving end; but you can't use any of the upper 128 in the SMS system. For most routine text messaging no one misses those anyway.

    -CB :)

  • Pony99CA

    The 8-bit/7-bit difference makes sense. I always assumed (not having ever used Twitter) that they stuck some additional information in the message (the sender's ID, perhaps).

    Of course, 8 bits can represent 256 characters, not 255. (I wouldn't say “display” because many of the ASCII characters aren't really displayable — 0-31 and 255, if I recall correctly.)

    Steve

  • CodeBubba

    Steve,

    Well yeah … you're right, 8-bits can hold 256 discrete values but I said 255 characters because 0 is considered the null-character in the ASCII character set. When constructing string characters (in languages such as 'C') the null character (0) is never considered part of the string, it is used as the string terminator.

    -bruce

  • CodeBubba

    Steve,

    Well yeah … you're right, 8-bits can hold 256 discrete values but I said 255 characters because 0 is considered the null-character in the ASCII character set. When constructing string characters (in languages such as 'C') the null character (0) is never considered part of the string, it is used as the string terminator.

    -bruce

Subscription

You can subscribe by e-mail to receive news updates and breaking stories.

Polls

Would you use Bing on an iPhone?

View Results

Loading ... Loading ...

About Mobilitysite

Warning: SimpleXMLElement::__construct(): Entity: line 2: parser error : AttValue: " or ' expected in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Warning: SimpleXMLElement::__construct(): in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Warning: SimpleXMLElement::__construct(): ^ in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Warning: SimpleXMLElement::__construct(): Entity: line 2: parser error : attributes construct error in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Warning: SimpleXMLElement::__construct(): in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Warning: SimpleXMLElement::__construct(): ^ in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Warning: SimpleXMLElement::__construct(): Entity: line 2: parser error : Couldn't find end of Start Tag html line 2 in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Warning: SimpleXMLElement::__construct(): in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Warning: SimpleXMLElement::__construct(): ^ in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Warning: SimpleXMLElement::__construct(): Entity: line 2: parser error : Extra content at the end of the document in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Warning: SimpleXMLElement::__construct(): in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Warning: SimpleXMLElement::__construct(): ^ in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144 Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php:144 Stack trace: #0 /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php(144): SimpleXMLElement->__construct('...') #1 /home/mobilitysite/public_html/wp-content/themes/tinynews/single.php(76): include('/home/mobilitys...') #2 /home/mobilitysite/public_html/wp-includes/template-loader.php(34): include('/home/mobilitys...') #3 /home/mobilitysite/public_html/wp-blog-header.php(16): require_once('/home/mobilitys...') #4 /home/mobilitysite/public_html/index.php(17): require('/home/mobilitys...') #5 {main} thrown in /home/mobilitysite/public_html/wp-content/themes/tinynews/page_sidebar.php on line 144