code: func DecodeString(s string) ([]byte, error) {
  	src := []byte(s)
  	// We can use the source slice itself as the destination
  	// because the decode loop increments by one and then the 'seen' byte is not used anymore.
  	n, err := Decode(src, src)
  	return src[:n], err
  }
docs: // DecodeString returns the bytes represented by the hexadecimal string s.
  //
  // DecodeString expects that src contains only hexadecimal
  // characters and that src has even length.
  // If the input is malformed, DecodeString returns
  // the bytes decoded before the error.