#[05AB1E](https://github.com/Adriandmen/05AB1E/wiki/Commands) (legacy), <s>68</s> <s>65</s> <s>60</s> 59 [bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage) .•5Ç¿ÆΓ•2ô.•1ÒKá ¸ΓìŸÆt`ô_zTºγ„KRI‰ι놽òι•4ô«I¬©¡®ìkh2ôJHçJ Input is in lowercase. -3 bytes implicitly thanks to *@Emigna* changing `'b¡εg>}s£` to `'b©¡®ì`. [Try it online](https://tio.run/##fVC9CsIwEH4Vn0Cs2HfwZxN3Tajg4ZDFLk6ddLe7qIuIRUQ7qCDCHa55iL5ITZv@UuyQSy7fz31Jy2TcmIZhM3AOJq3xQyvpqnOb/OjKoM2A9g18SJe874NWiwn54@UIX/IeONvBsBc4V/mkc@Ds8E03@VSiDvl47qGHJ9zjhbz5TLn1u3TshyEHCzhTVXChFsQLuKpqtzmzUsyOe1C9xjQvx7ReJCy75AJWdYLeWYxrVa6LsP@ZIJnHCsziPIhTi4wnssx6RqpI38Yq6aJEIvMrv7TuZ@wCAwr5Up/6G/YD) or [verify all test cases](https://tio.run/##jVI9SwNBEO3zKyS1BBO8vyAm6UKw1VkiOFhs4zZWV8Xe9GJsRHKI6BWJIMIOtvcj7o@cex@zH7kYLHbndu7te28eexSB6F8W0Um36OXxU0R3@pvm2cJ8DygtW326H9PyQK@zBSU/a5rfXFB6fjvVn9lHHj@MJ8M8fss2tMrjR/1F79nGXDqmVK@GOtEveqlfKbm@MmyjU3oeFd3e2WEhcIYCzMKZNAuqKpuzq0pIAZ0G4IOVUNVuuh3b2sWlLFNdwaLMzhSeGopyrxfLALv4r@XyVNM732BvbFtgTCVfIr1h2ko8rCxNWQbHzrnwv9CbX6EZmMd0ETht5elLr6pK0cUSQNCOr/Yaw5YxKVhUBSzbJrAVRvAkbIy7PaENAIPAGYHNcOi9mjAoCGaDlrvwEcjWG/srGeUh0PPHPPs78As). <s>Also, can definitely be golfed with something smarter than the huge compressed strings. Will take another look later on.</s> [Shorter answer already provided by *@Emigna*](https://codegolf.stackexchange.com/a/171401/52210), so make sure to upvote him! **Explanation:** .•5Ç¿ÆΓ• # Compressed string "bibabobu" 2ô # Split in parts of 2 # → ["bi","ba","bo","bu"] .•1ÒKá ¸ΓìŸÆt`ô_zTºγ„KRI‰ι놽òι• # Compressed string "bidibidabidobidubadibadabadobadubodibodabodobodu" 4ô # Split in parts of 4 # → ["bidi","bida","bido","bidu","badi","bada","bado","badu","bodi","boda","bodo","bodu"] « # Merge both lists together # → ["bi","ba","bo","bu","bidi","bida","bido","bidu","badi","bada","bado","badu","bodi","boda","bodo","bodu"] I¬©¡ # Take the input and split on the head (always 'b') # i.e. "bidibadibidobidabidobodibidobodibidoboduboba" # → ["idi","adi","ido","ida","ido","odi","ido","odi","ido","odu","o","a"] ®ì # And prepend a 'b' to each item again # i.e. ["idi","adi","ido","ida","ido","odi","ido","odi","ido","odu","o","a"] # → ["bidi","badi","bido","bida","bido","bodi","bido","bodi","bido","bodu","bo","ba"] k # Map each item to the index of the first list # i.e. ["bidi","badi","bido","bida","bido","bodi","bido","bodi","bido","bodu","bo","ba"] # → [4,8,6,5,6,12,6,12,6,15,2,1] h # Convert everything to hexadecimal # i.e. [4,8,6,5,6,12,6,12,6,15,2,1] # → ["4","8","6","5","6","C","6","C","6","F","2","1"] 2ôJ # Split it in parts of 2 and join them together # i.e. ["4","8","6","5","6","C","6","C","6","F","2","1"] # → ["48","65","6C","6C","6F","21"] H # Convert that from hexadecimal to an integer # i.e. ["48","65","6C","6C","6F","21"] → [72,101,108,108,111,33] ç # And take its ASCII value # i.e. [72,101,108,108,111,33] → ["H","e","l","l","o","!"] J # Then join everything together (and output implicitly) # i.e. ["H","e","l","l","o","!"] → "Hello!"