https://infosecwriteups.com/character-encoding-explored-part-2-utf-16-utf-8-bom-self-synchronization-more-0dbd0678ac97