#[05AB1E](https://github.com/Adriandmen/05AB1E/wiki/Commands) (legacy), <s>68</s> <s>65</s> 60 [bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage) .•5Ç¿ÆΓ•2ô.•1ÒKá ¸ΓìŸÆt`ô_zTºγ„KRI‰ι놽òι•4ô«I'b©¡®ì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/##fVC9CsIwEH4VNzexou9gdRN3Tajg4ZDFLE6d6q67qIuIRUQ7VEGEHK55iL5ITZu2phQdcsnl@7kvaXYItSZx3IjcfQeX4oWeXKtzC4PkysJVH3c1Eco1@u8QvfkYg9FiKB7yFrmb/sCO3Iu84ylyt@KJV3lXojYG4mTXqTiKnTijP5sqt14XD704puAAJaoyytSCdAFVVe2cEifHeNqD6jWmeV9M61nG4iUXcKoT9E5SXKu@ugT7nQmyecRgmvMgTc0KHisy6xm5In8bqaRLErHCr/zSfz/DDQYY@XKf/zfkAw) or [verify all test cases](https://tio.run/##jVI9SwNBEO3zKySNjQQj3l8Qk3QitjpLBAeLbdzG6qrYm16MjUiCiF6RCCLsYHs/4v7IuXt3sx@5GCx253bu7XtvHrufgOhflslRt@wV6VNCd/qbJvnUfB9QZlt9uh/RbEcv8yktfpY0ubmg7Pz2VH/mH0X6MDoZFOlbvqJ5kT7qL3rPV@bSIWV6PtgV@kXP9Cstrq8M2/CYnodlt3e2VwocowCzcCzNgqrK5uyrElJApwGEYCVUtZtux7U2cSnHVFdwKLMzRaCGwu71YhlgF/@1bE81vfcN7sa6BcZU8hYZDNNW4mGlNeUYPDvnwv9ib2GFZmAe00fgtVWgL4OqKkUfSwRBN77aagxbxqRgURWxrJvAVhjRk3AxbvaELgCMAmcENsNh8GrioCCaDVru4kcgW2/sr2RUgMDAH/Ns78Av). <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'b©¡ # Take the input and split on '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!"