add text_encode
 add unittest