XXIIVV

Proquints are identifiers that are readable and pronounceable.

In Pronounceable Identifiers, Daniel S. Wilkerson proposes encoding a 16-bit string as a pronouncable quintuplets of alternating consonants and vowels as follows. Four-bits for consonants, and two-bits for vowels:

0 1 2 3 4 5 6 7 8 9 A B C D E F | 0 1 2 3
b d f g h j k l m n p r s t v z | a i o u

Separate proquints using dashes, which can go un-pronounced or be pronounced "eh".

0123 4567 89ab cdef
con vow con vow con

Here are some IP dotted-quads and their corresponding proquints.

127.0.0.1       lusab-babad | 147.67.119.2    natag-lisaf
63.84.220.193   gutih-tugad | 212.58.253.68   tibup-zujah
63.118.7.35     gutuk-bisog | 216.35.68.215   tobog-higil
140.98.193.141  mudof-sakat | 216.68.232.21   todah-vobij
64.255.6.200    haguz-biram | 198.81.129.136  sinid-makam
128.30.52.45    mabiv-gibot | 12.110.110.204  budov-kuras

It's also possible to transmit low-resolution graphical assets by using one's voice.

Example

An ASCII string can also be encrypted in proquints, the sentence Many hands make light work. is represented as follows:

hujad kunun fadim kajiv kidog fadit kajir kihab
kudin kitim libab litiz lanir funir

Implementation

A minimal encoder implementation of proquints in Uxntal:

@proquint ( short* -- )

	( c1 ) DUP2 #0c emit-con
	( v1 ) DUP2 #0a emit-vow
	( c2 ) DUP2 #06 emit-con
	( v2 ) DUP2 #03 emit-vow
	( c3 ) #00 emit-con
	#20 &emit ( c -- ) #18 DEO

JMP2r

@emit-con SFT2 #000f AND2 ;&con ADD2 LDA !proquint/emit
	&con "bdfghjklmnprstvz
@emit-vow SFT2 #0003 AND2 ;&vow ADD2 LDA !proquint/emit
	&vow "aiou