code: def MessageToString(message,
                      as_utf8=False,
                      as_one_line=False,
                      pointy_brackets=False,
                      use_index_order=False,
                      float_format=None,
                      use_field_number=False,
                      descriptor_pool=None,
                      indent=0):
    
    out = TextWriter(as_utf8)
    printer = _Printer(out, indent, as_utf8, as_one_line, pointy_brackets,
                       use_index_order, float_format, use_field_number,
                       descriptor_pool)
    printer.PrintMessage(message)
    result = out.getvalue()
    out.close()
    if as_one_line:
      return result.rstrip()
    return result
docs: Convert protobuf message to text format.
  
    Floating point values can be formatted compactly with 15 digits of
    precision (which is the most that IEEE 754 "double" can guarantee)
    using float_format='.15g'. To ensure that converting to text and back to a
    proto will result in an identical value, float_format='.17g' should be used.
  
    Args:
      message: The protocol buffers message.
      as_utf8: Produce text output in UTF8 format.
      as_one_line: Don't introduce newlines between fields.
      pointy_brackets: If True, use angle brackets instead of curly braces for
        nesting.
      use_index_order: If True, print fields of a proto message using the order
        defined in source code instead of the field number. By default, use the
        field number order.
      float_format: If set, use this to specify floating point number formatting
        (per the "Format Specification Mini-Language"); otherwise, str() is used.
      use_field_number: If True, print field numbers instead of names.
      descriptor_pool: A DescriptorPool used to resolve Any types.
      indent: The indent level, in terms of spaces, for pretty print.
  
    Returns:
      A string of the text formatted protocol buffer message.