title: CryptoJS decryption fails when string with Unicode emosy chars
body: <p>I use CryptoJS for encryption and decryption of message in my app. Here is my code.</p>
  
  <p><strong>//encryption</strong></p>
  
  <pre><code>var msg = "Hello";
  var passStr= '54472f2f7a7c41da0a001739';
  var iv = CryptoJS.enc.Hex.parse('0000000000000000');
  var passSHA256 = CryptoJS.SHA256(CryptoJS.enc.Utf8.parse(passStr));
  
  var encrypted = CryptoJS.AES.encrypt(messageStr, passSHA256, { iv: iv });
  var messageTosend = encrypted.toString(); 
  </code></pre>
  
  <p><strong>//decryption</strong></p>
  
  <pre><code>var decrypted = CryptoJS.AES.decrypt(messageTosend , passSHA256, { iv: iv });
  var messageGot = decrypted.toString(CryptoJS.enc.Utf8);
  </code></pre>
  
  <p>This works fine but some time fails with error( Malformed UTF-8 data)  when message contains Unicode chars like this.</p>
  
  <pre><code>msg = "".
  </code></pre>
  
  <p>This gives me empty string.</p>