code: def GetUnicodeString(value):
    
    if isinstance(value, list):
      value = [GetUnicodeString(item) for item in value]
      return ''.join(value)
  
    if isinstance(value, py2to3.INTEGER_TYPES):
      value = '{0:d}'.format(value)
  
    if not isinstance(value, py2to3.UNICODE_TYPE):
      return codecs.decode(value, 'utf8', 'ignore')
    return value
docs: Attempts to convert the argument to a Unicode string.
  
    Args:
      value (list|int|bytes|str): value to convert.
  
    Returns:
      str: string representation of the argument.