Both the pipe | and the underscore _ characters have a special function for the string encoding, as they are used as delimiter char or as null placeholder respectively.
I cannot see any escaping functionality so I suspect that the whole encoded message would be broken if these chars were actually also part of the body content.
Therefore I would suggest to add an escaping mechanism of pipes and underscores whenever they occur as message body content to be sure the encoded string has no corrupted parts.
Both the pipe | and the underscore _ characters have a special function for the string encoding, as they are used as delimiter char or as null placeholder respectively. I cannot see any escaping functionality so I suspect that the whole encoded message would be broken if these chars were actually also part of the body content. Therefore I would suggest to add an escaping mechanism of pipes and underscores whenever they occur as message body content to be sure the encoded string has no corrupted parts.