Conversión de caracteres Python Unicode para Emoji

Tengo algunos problemas con el formato de una marca ordenada de bytes a Unicode. Hay algo extraño en cómo se expresa mi personaje. Básicamente no está imprimiendo un personaje emoji en Python, sino que es solo la cadena. Aquí está mi ejemplo.

# these codes are coming from a json file; this a representation of one of the codes.
e = 'U+1F600' # smile grin emoji

# not sure how to clean this, so here's a basic attempt using regex.
b = re.compile(r'U\+', re.DOTALL).sub('\U000', e)

print unicode(b) # output should be '\U0001F600'

Por alguna razón, esto no imprime un personaje emoji.

Sin embargo, si escribe la misma cadena como literal, utilizandou Marcar todo funciona como se esperaba.

print u'\U0001F600'

¿Qué estoy haciendo mal aquí? Pensé que elunicode La función convertiría mi cadena al equivalente de trabajo, pero aparentemente no lo es.

Estoy usando Python 2.7

Respuestas a la pregunta(1)

Su respuesta a la pregunta