code: async def unicode_type(self, elem):
          
          if self.writing:
              await dump_uvarint(self.iobj, len(elem))
              await self.iobj.awrite(bytes(elem, 'utf8'))
  
          else:
              ivalue = await load_uvarint(self.iobj)
              if ivalue == 0:
                  return ''
  
              fvalue = bytearray(ivalue)
              await self.iobj.areadinto(fvalue)
              return str(fvalue, 'utf8')
docs: Unicode type
          :param elem:
          :return: