title: Detecting if a character in a String is an emoticon (using Android)
body: <p>Like the title says. I want to find out if a given java String contains an emoticon.</p>
  
  <p>I can't use <code>Character.UnicodeBlock.of(char) == Character.UnicodeBlock.EMOTICONS</code> since that requires API level 19.</p>
  
  <p><a href="https://gist.github.com/cihancimen/4146056" rel="noreferrer">I found this code for iOS</a> but it isn't really applicable since it looks like java and objective-c handle surrogate pairs in different manners.</p>
  
  <p>The documentations I've looked through tell me that:</p>
  
  <pre><code>A char value, therefore, represents Basic Multilingual Plane (BMP) code points, including the surrogate code points, or code units of the UTF-16 encoding
  </code></pre>
  
  <p>I'm not quite sure what that means. Does that simply mean that they also include the BMP point as their first number?</p>
  
  <p><a href="http://en.wikipedia.org/wiki/Plane_%28Unicode%29#Supplementary_Multilingual_Plane" rel="noreferrer">According to Wikipedia</a> the emoticon set lies between 0x1f600 and 0x1f64f but I don't know how to check if the char is in that range.</p>
  
  <p>I had hoped that something like this would work but it didn't</p>
  
  <pre><code>if (0x1f600 &lt;= a &amp;&amp; a &lt;= 0x1f64f)
  {
      Print.d("Unicode", "groovy!");
  }
  </code></pre>
  
  <p>So how do I go about this?</p>