code: def CEscape(text, as_utf8):
      """Escape a bytes string for use in an ascii protocol buffer.
  
      text.encode('string_escape') does not seem to satisfy our needs as it
      encodes unprintable characters using two-digit hex escapes whereas our
      C++ unescaping function allows hex escapes to be any length.  So,
      "\0011".encode('string_escape') ends up being "\\x011", which will be
      decoded in C++ as a single-character string with char code 0x11.
  
      Args:
        text: A byte string to be escaped
        as_utf8: Specifies if result should be returned in UTF-8 encoding
      Returns:
        Escaped string
      """
      # PY3 hack: make Ord work for str and bytes:
      # //platforms/networking/data uses unicode here, hence basestring.
      Ord = ord if isinstance(text, six.string_types) else lambda x: x
      if as_utf8:
          return "".join(_cescape_utf8_to_str[Ord(c)] for c in text)
      return "".join(_cescape_byte_to_str[Ord(c)] for c in text)
  
imports: import re
  import six
label_desc: Use image node_id 1 for calling a global function with example usage: CEscape(text, as_utf8) and returns: str, str