I just watched a page where all facebook emoticons are listed (http://www.symbols-n-emoticons.com/p/facebook-emoticons-list.html).
Now below of the emoticon there are the characters one has to type to display the corresponding emoticon. Now there are text characters like this: ⛽ or this:
In Unicode. You may not have seen them before because emoticons are not officially added to the Unicode Set (yet -- January 2015), and are still in Draft status: http://www.unicode.org/reports/tr51/index.html
You also need to have (1) a font that supports these characters, and (2) a browser or other viewing mechanism that knows where to find them.
Technically, they are not 'emoticons' but 'emoji': Q: Are emoji the same thing as emoticons?.
All of these characters are in the Unicode character set (the actual page is encoded in UTF-8, which is just a way to seralise Unicode as a sequence of bytes).
As to where they originally came from — that depends. The earlier versions of Unicode had a small set of dingbats and emoticons, mostly derived from the IBM 437 codepage and the Adobe Zapf Dingbats character set. In October 2010, Unicode 6.0 was published, which included a number of Emoticons from various sources. In June 2014, Unicode 7.0 added a large number of symbols (including some emoticons) from various Japanese proprietary character sets.
Original Unicode dingbats.
Original Unicode Miscellaneous symbols.
Unicode 6.0 emoticons.
Unicode 7.0 Miscellaneous symbols.
Unicode 7.0 Ornamental Dingbats.