Wondering why your tweets are getting cut off when they’re apparently less than 140 characters? Well read on…
The reason behind it is a purely technical thing – and mainly due to Twitter’s implemetation of their character counting.
A simple explanation is that some characters are actually ‘worth’ more than others. For instance angle brackets (< and >) are worth four characters and ampersands (&) are worth five characters. It gets worse when people use characters that arn’t normally on a US-English keyboard – For example that little ♥ is worth EIGHT characters. A little love goes a long way, huh?
If you want to understand the reason for this, you need to know a little about how HTML and other markup languages work.
In the Hypertext Markup Language (amongst others), there are several ‘reserved’ characters (entities) – these are ones used to actually write HTML. The most commonly recognised ones are angle brackets.
If you actually want to use an angle bracket in text – you need to encode it. The way that is done is by using ampersands and short codes or numbers, and a semi-colon.
So, “<” becomes “<” (”lt” being short for less-than). “>” becomes “>”. If you want an ampersand? Well, that’s also a reserved entity – given that it’s used to denote the encoding of other entities – so your “&” actually becomes “&”.
Things get even more complicated when we talk about characters that arn’t typically on a US keyboard.
Twitter could fix this in one of several ways – the easiest for them would be to alter the character count on the website to show the entity-encoded count, which is what the server uses.
I hope this was helpful to all those folks who I see scratching their heads over the suddenly shorter messages!