However, it appears this must be optional, because short strings compressed with zstd pass through 'unencoded', apart from a header and footer added:
$ echo "hello world" | zstd | hexdump -C
00000000 28 b5 2f fd 04 58 61 00 00 68 65 6c 6c 6f 20 77 |(./..Xa..hello w|
00000010 6f 72 6c 64 0a 8c 6d 7d 20 |orld..m} |
As an aside, I'm fairly disappointed that zstd didn't use a single byte header for uncompressible strings, so that they could guarantee that the compressed data will never be more than 1 byte larger than the source data. That property is very useful where lots of tiny strings are being compressed, such as in a database.