当我将来旅行时,我注意到大约2275岁的孩子之间发生了一场有趣的游戏。当他们不希望他们的曾曾曾祖父母明白他们在说什么时,他们会用BIBABOBU说话。显然,我在半机器人之前的时代无法理解任何事情,而且我(或者从技术上:我会觉得)真的很愚蠢。因此,我下次访问时需要解码器。
BIBABOBU?
尽管已被弃用很长时间,但ASCII在2275的流行文化中仍然很常用,并且该语言基于它。
字符串是用BIBABOBU编码的:
- 将所有字符转换为其ASCII码。
取每个代码的2位十六进制表示形式,并使用下表对其进行转换:
0: BI 4: BIDI 8: BADI C: BODI 1: BA 5: BIDA 9: BADA D: BODA 2: BO 6: BIDO A: BADO E: BODO 3: BU 7: BIDU B: BADU F: BODU
例
"Hello!" → 48 65 6C 6C 6F 21 → "BIDIBADI BIDOBIDA BIDOBODI BIDOBODI BIDOBODU BOBA"
但是,将给出相应的输入,而没有任何空间来模仿孩子们使用单调的语调,而这些调子在没有植入的情况下变得更加难以理解:
"BIDIBADIBIDOBIDABIDOBODIBIDOBODIBIDOBODUBOBA"
澄清和规则
- 请记住,我需要一个解码器,而不是一个编码器。
- 解码后的字符保证在[32 ... 126]范围内。
- 确保输入包含偶数个BIBABOBU编码的十六进制数字。
- 您可以全小写或全大写输入。不允许混合使用。
- 因为在时间旅行中位翻转非常普遍,所以这是代码高尔夫,目的是最大程度地降低风险。
测试用例
注意:以下仅将换行用于格式化。您不应该处理它们。
Input:
BIDABIDIBIDOBIDABIDUBUBIDUBIDI
Output:
Test
Input:
BIDABIDUBIDOBIDABIDOBODIBIDOBUBIDOBODUBIDOBODABIDOBIDABOBIBIDUBIDIBIDOBODUBOBIBUBOBUBOBUBI
DUBUBIDABOBA
Output:
Welcome to 2275!
Input:
BIDIBADIBIDOBIDABIDOBODIBIDOBODIBIDOBODUBOBODIBOBIBIDABIDIBIDOBADABIDOBODABIDOBIDABOBIBIDA
BIDIBIDUBOBIDOBABIDUBIDOBIDOBIDABIDOBODIBIDOBIDABIDUBOBOBABOBIBIDABADABIDOBODUBIDUBIDABOBI
BIDOBODIBIDOBODUBIDOBODUBIDOBADUBOBIBIDUBUBIDOBODUBOBIBIDOBIDOBIDUBIDABIDOBODOBIDOBODOBIDU
BADABOBA
Output:
Hello, Time Traveler! You look so funny!
Input:
BIDIBABIDOBODOBIDOBIDIBOBIBIDUBADABIDOBODUBIDUBIDABOBIBIDOBIDIBIDOBODUBIDOBODOBOBIDUBIDUBI
DIBOBIBIDUBIDABIDOBODOBIDOBIDIBIDOBIDABIDUBOBIDUBUBIDUBIDIBIDOBABIDOBODOBIDOBIDIBOBIBIDUBI
DUBIDOBADIBIDOBABIDUBIDIBOBIBIDIBADABOBIDUBIDOBODABOBIBIDUBUBIDOBABIDUBADABIDOBADABIDOBODO
BIDOBIDUBOBODIBOBIBIDOBIDIBIDOBODUBOBIBIDUBADABIDOBODUBIDUBIDABUBODUBOBIBIDIBADIBIDOBABOBI
BIDOBADIBIDOBABOBIBIDOBADIBIDOBABOBA
Output:
And you don't understand what I'm saying, do you? Ha ha ha!