Why PSK31 encodes text with Varicode, a variable-length character code in which the most common letters get the shortest bit patterns, much like Morse code assigns short symbols to E and T. This keeps the average typing throughput near 31 baud while fitting the whole character set into a very narrow bandwidth. Characters are separated by two consecutive zero bits, and no valid Varicode character contains two zeros in a row, so the receiver can find character boundaries.
Watch out Viterbi is tempting because it does appear in PSK31: it is the decoding algorithm used for the forward error correction in the QPSK mode, but it is not the character code itself.
PSK31 = Varicode: VARIable length, like Morse, common letters get short codes.