def str_to_ascii(str_input):
"""
字符串编码转换函数
@author:Honfeiyinxue,2022年4月26日
:str_input 输入待转换为二进制的字符串:
:return: 输出元组,元组的4个元素分别是字符串的原始字符( str_output_origi)对应的二进制(string_output_binary),
十进制(string_output_decimal)、十六进制编码(string_output_hexadecimal)
"""
string_process = str_input
str_output_origin = ''
string_output_binary = ''
string_output_decimal = ''
string_output_hexadecimal = ''
for ch in string_process:
# 汉字编码16比特,例如“飞”的二进制码为1001100011011110,ascii码8比特,编排对齐方式不同。
if 0 <= ord(ch) <= 128:
str_output_origin += '{: <8}'.format(ch) + ' '
string_output_binary += '{:0>8}'.format(bin(ord(ch)).replace('0b', '')) + ' '
string_output_decimal += '{: <8}'.format(str(ord(ch))) + ' '
string_output_hexadecimal += "{: <8}".format(hex(ord(ch))) + ' '
else:
str_output_origin += '{: <16}'.format(ch) + ' '
string_output_binary += '{:0>16}'.format(bin(ord(ch)).replace('0b', '')) + ' '
string_output_decimal += '{: <16}'.format(str(ord(ch))) + ' '
string_output_hexadecimal += "{: <16}".format(hex(ord(ch))) + ' '
return str_output_origin, string_output_binary, string_output_hexadecimal, string_output_decimal
string = "公平自由平等abc"
for item in str_to_ascii(string):
print(item)
运行结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)