如何正确的说邦布语
  • 板块灌水区
  • 楼主PhaeUn_Cu
  • 当前回复8
  • 已保存回复8
  • 发布时间2024/8/11 21:00
  • 上次更新2024/9/8 16:54:50
查看原帖
如何正确的说邦布语
755001
PhaeUn_Cu楼主2024/8/11 21:00

为了正确地说出邦布语,我们首先要了解邦布语的构成(这不是废话)。

很显然我们的邦布语由”嗯“和”呢“构成,恰好有两种形式,于是我们就可以考虑将汉字转换成二进制字符串,并分别将这些字符串使用嗯呢代替。

这样我们就可以科学地说邦布语了。

那么如何实现呢?

众嗦粥汁,我们计算机中的汉字编码形式一般使用Unicode中的utf−nutf-n编码。 而utf−8utf-8可以表示成16进制的形式,我们再将16进制转换为2进制,最后将0、10、1替换为"嗯"、"呢".

理论存在,实践开始!!!

首先我们需要将汉字转换为16进制的字符串:

def string_to_hex_binary(unicode_string):
    hex_binary_string = ""
    for char in unicode_string:
        unicode_code = ord(char)
        hex_binary_string += f"{unicode_code:04x} "
    return hex_binary_string.strip()
user_input = input()
hex_binary_result = string_to_hex_binary(user_input)
print( hex_binary_result)

16进制转2进制:

def hex_to_bin(hex_str):
    return format(int(hex_str, 16), '04b')
def convert_hex_to_bin_spaced(hex_str):
    hex_numbers = hex_str.split()
    binary_str = ' '.join(hex_to_bin(num) for num in hex_numbers)
    return binary_str
hex_str = input()
binary_str = convert_hex_to_bin_spaced(hex_str)
print(binary_str)

2进制转"嗯""呢":

binary_str = input()
translated_str = binary_str.replace("1", "嗯").replace("0", "呢")
print(translated_str)

综合一下:

#转成16进制
def string_to_hex_binary(unicode_string):
    hex_binary_string = ""
    for char in unicode_string:
        unicode_code = ord(char)
        hex_binary_string += f"{unicode_code:04x} "
    return hex_binary_string.strip()
user_input = input()
hex_binary_result = string_to_hex_binary(user_input)   #16进制数
#16转2
def hex_to_bin(hex_str):
    return format(int(hex_str, 16), '04b')
def convert_hex_to_bin_spaced(hex_str):
    hex_numbers = hex_str.split()
    binary_str = ' '.join(hex_to_bin(num) for num in hex_numbers)
    return binary_str
hex_str = hex_binary_result
binary_str = convert_hex_to_bin_spaced(hex_str)   #2进制数
#二进制转嗯呢
translated_str = binary_str.replace("1", "嗯").replace("0", "呢")
print(translated_str)
input()

现在我们会说邦布语了,但是别人有可能听不懂,所以还需要一个解码程序:

这里就直接上代码了:

#嗯呢转二进制
original_str = input()
converted_str = original_str.replace("嗯", "1").replace("呢", "0")
#二进制转十六进制
def bin_to_hex(bin_str):
    bin_parts = bin_str.split()
    hex_str = ""
    for bin_part in bin_parts:
        decimal_value = int(bin_part, 2)
        hex_str += format(decimal_value, '02X') + " "
    return hex_str.strip()
bin_str = converted_str
hex_str = bin_to_hex(bin_str)
#16转汉字
def hex_binary_to_string(hex_binary_string):
    hex_groups = hex_binary_string.split()
    unicode_string = ""
    for hex_group in hex_groups:
        unicode_code = int(hex_group, 16)
        unicode_string += chr(unicode_code)
    return unicode_string
hex_binary_result = hex_str
recovered_string = hex_binary_to_string(hex_binary_result)
print(recovered_string)
input()

完

2024/8/11 21:00
加载中...