Source: https://www.rfc-editor.org/pdfrfc/rfc5646.txt.pdf