def str2byte(s):
base='0123456789ABCDEF'
i=0
s = s.upper()
s1=''
while i <len(s):
c1=s[i]
c2=s[i+1]
i+=2
b1=base.find(c1)
b2=base.find(c2)
if b1 == -1 or b2 == -1:
return None
s1+=chr((b1 <<4)+b2)
return s1
s = 'C7 EB CE F0 BE C6 BA F3 BC DD B3 B5'.replace(' ','') #去掉空格
s1 = str2byte(s)
print s1.decode('gbk') #以gbk编码解码输出
#结果
>>>s1
'\xc7\xeb\xce\xf0\xbe\xc6\xba\xf3\xbc\xdd\xb3\xb5'
>>>print s1.decode('gbk')
请勿酒后驾车
一个字符的标准asc码的长度是7位。根据查询相关资料信息,结合python学中的字符知识,字符的长度指字符的位数,标准ASCII码是用7位二进制数表示1个字符的编码。一个字符的标准ASCII码的长度是7位。data segment para str1 db ‘one’, ’$’ str2 db ‘Two’, ’$’ str3 db ‘Three’, ’$’ str4 db ‘four’, ’$’ str5 db ‘five’, ’$’ tab dw str1,str2,str3,str4,str5data endsssg segment stack dw 256 dup(?)ssg endscode segment paraassume cs:code,ss:ssg,ds:data main proc farmov ax, data mov ds, axmov ah, 1 键盘输入int 21h call asc2bin mov bl, almov bh, 0dec bxshl bx, 1mov dx, tab[bx]mov ah, 9int 21hmov ax, 4c00hInt 21h main endp将ASCII转换为二进制数入口:AL存放ASCII出口:转换后数值在ALasc2bin proc sub al, 30h cmp al, 9 jbe next sub al, 7next: retasc2bin endp end main上面的程序是:从键盘输入1~5之间的一个数,在屏幕上显示one…five。虽然不一样,但要求差不多,希望对你有帮助!